package com.mercandalli.android.apps.files.settings; import android.content.Context; import android.content.SharedPreferences; import android.support.annotation.NonNull; import android.support.annotation.Nullable; import com.mercandalli.android.library.base.su.SuperUserManager; public final class SettingsManager { /** * The shared preference key. */ @NonNull private static final String SHARED_PREFERENCES_KEY = "SettingsManager.SHARED_PREFERENCES_KEY"; @NonNull private static final String SHARED_PREFERENCES_IS_SUPER_USER_ENABLE = "SettingsManager.SHARED_PREFERENCES_IS_SUPER_USER_ENABLE"; @NonNull private static final String SHARED_PREFERENCES_IS_DEV_USER_ENABLE = "SettingsManager.SHARED_PREFERENCES_IS_DEV_USER_ENABLE"; @Nullable private static SettingsManager sInstance; @NonNull public static SettingsManager getInstance(@NonNull final Context context) { if (sInstance == null) { sInstance = new SettingsManager(context); } return sInstance; } private boolean mIsSuperUser; private boolean mIsDevUser; @NonNull private final SharedPreferences mSharedPreferences; @NonNull private final Context mContext; private SettingsManager(@NonNull final Context context) { mContext = context.getApplicationContext(); mSharedPreferences = context.getSharedPreferences( SHARED_PREFERENCES_KEY, Context.MODE_PRIVATE); mIsSuperUser = mSharedPreferences.getBoolean(SHARED_PREFERENCES_IS_SUPER_USER_ENABLE, false); mIsDevUser = mSharedPreferences.getBoolean(SHARED_PREFERENCES_IS_DEV_USER_ENABLE, false); } public boolean isSuperUser() { return mIsSuperUser; } /** * @return True if the value change. */ public boolean setIsSuperUser(final boolean isSuperUser) { if (!SuperUserManager.getInstance().isRooted(mContext)) { return false; } mIsSuperUser = isSuperUser; final SharedPreferences.Editor edit = mSharedPreferences.edit(); edit.putBoolean(SHARED_PREFERENCES_IS_SUPER_USER_ENABLE, mIsSuperUser); edit.apply(); return true; } public boolean isDevUser() { return mIsDevUser; } /** * @return True if the value change. */ public boolean setIsDevUser(final boolean isDevUser) { mIsDevUser = isDevUser; final SharedPreferences.Editor edit = mSharedPreferences.edit(); edit.putBoolean(SHARED_PREFERENCES_IS_DEV_USER_ENABLE, mIsDevUser); edit.apply(); return true; } }