267 lines
8.9 KiB
Java
267 lines
8.9 KiB
Java
/**
|
|
* Copyright (C) 2016 Hyphenate Inc. All rights reserved.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
package com.example.nanchen.aiyaschoolpush.im;
|
|
|
|
import android.annotation.SuppressLint;
|
|
import android.content.Context;
|
|
import android.content.SharedPreferences;
|
|
|
|
public class PreferenceManager {
|
|
/**
|
|
* name of preference
|
|
*/
|
|
public static final String PREFERENCE_NAME = "saveInfo";
|
|
private static SharedPreferences mSharedPreferences;
|
|
private static PreferenceManager mPreferencemManager;
|
|
private static SharedPreferences.Editor editor;
|
|
|
|
private String SHARED_KEY_SETTING_NOTIFICATION = "shared_key_setting_notification";
|
|
private String SHARED_KEY_SETTING_SOUND = "shared_key_setting_sound";
|
|
private String SHARED_KEY_SETTING_VIBRATE = "shared_key_setting_vibrate";
|
|
private String SHARED_KEY_SETTING_SPEAKER = "shared_key_setting_speaker";
|
|
|
|
private static String SHARED_KEY_SETTING_CHATROOM_OWNER_LEAVE = "shared_key_setting_chatroom_owner_leave";
|
|
private static String SHARED_KEY_SETTING_DELETE_MESSAGES_WHEN_EXIT_GROUP = "shared_key_setting_delete_messages_when_exit_group";
|
|
private static String SHARED_KEY_SETTING_AUTO_ACCEPT_GROUP_INVITATION = "shared_key_setting_auto_accept_group_invitation";
|
|
private static String SHARED_KEY_SETTING_ADAPTIVE_VIDEO_ENCODE = "shared_key_setting_adaptive_video_encode";
|
|
private static String SHARED_KEY_SETTING_OFFLINE_PUSH_CALL = "shared_key_setting_offline_push_call";
|
|
|
|
private static String SHARED_KEY_SETTING_GROUPS_SYNCED = "SHARED_KEY_SETTING_GROUPS_SYNCED";
|
|
private static String SHARED_KEY_SETTING_CONTACT_SYNCED = "SHARED_KEY_SETTING_CONTACT_SYNCED";
|
|
private static String SHARED_KEY_SETTING_BALCKLIST_SYNCED = "SHARED_KEY_SETTING_BALCKLIST_SYNCED";
|
|
|
|
private static String SHARED_KEY_CURRENTUSER_USERNAME = "SHARED_KEY_CURRENTUSER_USERNAME";
|
|
private static String SHARED_KEY_CURRENTUSER_NICK = "SHARED_KEY_CURRENTUSER_NICK";
|
|
private static String SHARED_KEY_CURRENTUSER_AVATAR = "SHARED_KEY_CURRENTUSER_AVATAR";
|
|
|
|
private static String SHARED_KEY_REST_SERVER = "SHARED_KEY_REST_SERVER";
|
|
private static String SHARED_KEY_IM_SERVER = "SHARED_KEY_IM_SERVER";
|
|
private static String SHARED_KEY_ENABLE_CUSTOM_SERVER = "SHARED_KEY_ENABLE_CUSTOM_SERVER";
|
|
private static String SHARED_KEY_ENABLE_CUSTOM_APPKEY = "SHARED_KEY_ENABLE_CUSTOM_APPKEY";
|
|
private static String SHARED_KEY_CUSTOM_APPKEY = "SHARED_KEY_CUSTOM_APPKEY";
|
|
|
|
@SuppressLint("CommitPrefEdits")
|
|
private PreferenceManager(Context cxt) {
|
|
mSharedPreferences = cxt.getSharedPreferences(PREFERENCE_NAME, Context.MODE_PRIVATE);
|
|
editor = mSharedPreferences.edit();
|
|
}
|
|
|
|
public static synchronized void init(Context cxt){
|
|
if(mPreferencemManager == null){
|
|
mPreferencemManager = new PreferenceManager(cxt);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* get instance of PreferenceManager
|
|
*
|
|
* @param
|
|
* @return
|
|
*/
|
|
public synchronized static PreferenceManager getInstance() {
|
|
if (mPreferencemManager == null) {
|
|
throw new RuntimeException("please init first!");
|
|
}
|
|
|
|
return mPreferencemManager;
|
|
}
|
|
|
|
public void setSettingMsgNotification(boolean paramBoolean) {
|
|
editor.putBoolean(SHARED_KEY_SETTING_NOTIFICATION, paramBoolean);
|
|
editor.apply();
|
|
}
|
|
|
|
public boolean getSettingMsgNotification() {
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_SETTING_NOTIFICATION, true);
|
|
}
|
|
|
|
public void setSettingMsgSound(boolean paramBoolean) {
|
|
editor.putBoolean(SHARED_KEY_SETTING_SOUND, paramBoolean);
|
|
editor.apply();
|
|
}
|
|
|
|
public boolean getSettingMsgSound() {
|
|
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_SETTING_SOUND, true);
|
|
}
|
|
|
|
public void setSettingMsgVibrate(boolean paramBoolean) {
|
|
editor.putBoolean(SHARED_KEY_SETTING_VIBRATE, paramBoolean);
|
|
editor.apply();
|
|
}
|
|
|
|
public boolean getSettingMsgVibrate() {
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_SETTING_VIBRATE, true);
|
|
}
|
|
|
|
public void setSettingMsgSpeaker(boolean paramBoolean) {
|
|
editor.putBoolean(SHARED_KEY_SETTING_SPEAKER, paramBoolean);
|
|
editor.apply();
|
|
}
|
|
|
|
public boolean getSettingMsgSpeaker() {
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_SETTING_SPEAKER, true);
|
|
}
|
|
|
|
public void setSettingAllowChatroomOwnerLeave(boolean value) {
|
|
editor.putBoolean(SHARED_KEY_SETTING_CHATROOM_OWNER_LEAVE, value);
|
|
editor.apply();
|
|
}
|
|
|
|
public boolean getSettingAllowChatroomOwnerLeave() {
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_SETTING_CHATROOM_OWNER_LEAVE, true);
|
|
}
|
|
|
|
public void setDeleteMessagesAsExitGroup(boolean value){
|
|
editor.putBoolean(SHARED_KEY_SETTING_DELETE_MESSAGES_WHEN_EXIT_GROUP, value);
|
|
editor.apply();
|
|
}
|
|
|
|
public boolean isDeleteMessagesAsExitGroup() {
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_SETTING_DELETE_MESSAGES_WHEN_EXIT_GROUP, true);
|
|
}
|
|
|
|
public void setAutoAcceptGroupInvitation(boolean value) {
|
|
editor.putBoolean(SHARED_KEY_SETTING_AUTO_ACCEPT_GROUP_INVITATION, value);
|
|
editor.commit();
|
|
}
|
|
|
|
public boolean isAutoAcceptGroupInvitation() {
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_SETTING_AUTO_ACCEPT_GROUP_INVITATION, true);
|
|
}
|
|
|
|
public void setAdaptiveVideoEncode(boolean value) {
|
|
editor.putBoolean(SHARED_KEY_SETTING_ADAPTIVE_VIDEO_ENCODE, value);
|
|
editor.apply();
|
|
}
|
|
|
|
public boolean isAdaptiveVideoEncode() {
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_SETTING_ADAPTIVE_VIDEO_ENCODE, false);
|
|
}
|
|
|
|
public void setPushCall(boolean value) {
|
|
editor.putBoolean(SHARED_KEY_SETTING_OFFLINE_PUSH_CALL, value);
|
|
editor.apply();
|
|
}
|
|
|
|
public boolean isPushCall() {
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_SETTING_OFFLINE_PUSH_CALL, false);
|
|
}
|
|
|
|
public void setGroupsSynced(boolean synced){
|
|
editor.putBoolean(SHARED_KEY_SETTING_GROUPS_SYNCED, synced);
|
|
editor.apply();
|
|
}
|
|
|
|
public boolean isGroupsSynced(){
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_SETTING_GROUPS_SYNCED, false);
|
|
}
|
|
|
|
public void setContactSynced(boolean synced){
|
|
editor.putBoolean(SHARED_KEY_SETTING_CONTACT_SYNCED, synced);
|
|
editor.apply();
|
|
}
|
|
|
|
public boolean isContactSynced(){
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_SETTING_CONTACT_SYNCED, false);
|
|
}
|
|
|
|
public void setBlacklistSynced(boolean synced){
|
|
editor.putBoolean(SHARED_KEY_SETTING_BALCKLIST_SYNCED, synced);
|
|
editor.apply();
|
|
}
|
|
|
|
public boolean isBacklistSynced(){
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_SETTING_BALCKLIST_SYNCED, false);
|
|
}
|
|
|
|
public void setCurrentUserNick(String nick) {
|
|
editor.putString(SHARED_KEY_CURRENTUSER_NICK, nick);
|
|
editor.apply();
|
|
}
|
|
|
|
public void setCurrentUserAvatar(String avatar) {
|
|
editor.putString(SHARED_KEY_CURRENTUSER_AVATAR, avatar);
|
|
editor.apply();
|
|
}
|
|
|
|
public String getCurrentUserNick() {
|
|
return mSharedPreferences.getString(SHARED_KEY_CURRENTUSER_NICK, null);
|
|
}
|
|
|
|
public String getCurrentUserAvatar() {
|
|
return mSharedPreferences.getString(SHARED_KEY_CURRENTUSER_AVATAR, null);
|
|
}
|
|
|
|
public void setCurrentUserName(String username){
|
|
editor.putString(SHARED_KEY_CURRENTUSER_USERNAME, username);
|
|
editor.apply();
|
|
}
|
|
|
|
public String getCurrentUsername(){
|
|
return mSharedPreferences.getString(SHARED_KEY_CURRENTUSER_USERNAME, null);
|
|
}
|
|
|
|
public void setRestServer(String restServer){
|
|
editor.putString(SHARED_KEY_REST_SERVER, restServer).commit();
|
|
editor.commit();
|
|
}
|
|
|
|
public String getRestServer(){
|
|
return mSharedPreferences.getString(SHARED_KEY_REST_SERVER, null);
|
|
}
|
|
|
|
public void setIMServer(String imServer){
|
|
editor.putString(SHARED_KEY_IM_SERVER, imServer);
|
|
editor.commit();
|
|
}
|
|
|
|
public String getIMServer(){
|
|
return mSharedPreferences.getString(SHARED_KEY_IM_SERVER, null);
|
|
}
|
|
|
|
public void enableCustomServer(boolean enable){
|
|
editor.putBoolean(SHARED_KEY_ENABLE_CUSTOM_SERVER, enable);
|
|
editor.apply();
|
|
}
|
|
|
|
public boolean isCustomServerEnable(){
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_ENABLE_CUSTOM_SERVER, false);
|
|
}
|
|
|
|
public void enableCustomAppkey(boolean enable) {
|
|
editor.putBoolean(SHARED_KEY_ENABLE_CUSTOM_APPKEY, enable);
|
|
editor.apply();
|
|
}
|
|
|
|
public boolean isCustomAppkeyEnabled() {
|
|
return mSharedPreferences.getBoolean(SHARED_KEY_ENABLE_CUSTOM_APPKEY, false);
|
|
}
|
|
|
|
public String getCustomAppkey() {
|
|
return mSharedPreferences.getString(SHARED_KEY_CUSTOM_APPKEY, "");
|
|
}
|
|
|
|
public void setCustomAppkey(String appkey) {
|
|
editor.putString(SHARED_KEY_CUSTOM_APPKEY, appkey);
|
|
editor.apply();
|
|
}
|
|
|
|
public void removeCurrentUserInfo() {
|
|
editor.remove(SHARED_KEY_CURRENTUSER_NICK);
|
|
editor.remove(SHARED_KEY_CURRENTUSER_AVATAR);
|
|
editor.apply();
|
|
}
|
|
}
|