Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 29b28f14 authored by Rohit Sekhar's avatar Rohit Sekhar
Browse files

FP6: ecameratoggle: Force enable FPCamera if its disabled

parent fd7369e7
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -13,6 +13,7 @@ public class AppPrefs {
    private final Context context;

    private static final String KEY_FIRST_BOOT = "first_boot";
    private static final String KEY_FPCAMERA = "fp_camera_pref";

    private AppPrefs(Context context) {
        this.context = context.getApplicationContext();
@@ -33,4 +34,12 @@ public class AppPrefs {
    public void saveIsFirstBoot() {
        prefs.edit().putBoolean(KEY_FIRST_BOOT, false).apply();
    }

    public boolean isFpCameraEnabled() {
        return prefs.getBoolean(KEY_FPCAMERA, true);
    }

    public void setFpCameraEnabled(boolean enabled) {
        prefs.edit().putBoolean(KEY_FPCAMERA, enabled).apply();
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ public class ECameraToggleFragment extends PreferenceFragmentCompat implements
        SharedPreferences.OnSharedPreferenceChangeListener {

    private static final String TAG = "ECameraToggleFragment";
    private static final String E_CAMERA_PACKAGE = "foundation.e.camera";
    private static final String PREF_E_CAMERA = "e_camera_pref";

    private SwitchPreferenceCompat mECameraTogglePref;
@@ -34,7 +35,7 @@ public class ECameraToggleFragment extends PreferenceFragmentCompat implements
        mECameraTogglePref.setOnPreferenceChangeListener((preference, newValue) -> {
            if (preference == mECameraTogglePref) {
                boolean value = (Boolean) newValue;
                return ECameraToggleUtils.setApplicationEnabledSetting(getActivity(), value);
                return ECameraToggleUtils.setApplicationEnabledSetting(getActivity(), E_CAMERA_PACKAGE, value);
            }
            return false;
        });
+12 −4
Original line number Diff line number Diff line
@@ -21,16 +21,17 @@ public class ECameraToggleUtils {

    private static final String TAG = "ECameraToggleUtils";
    private static final String E_CAMERA_PACKAGE = "foundation.e.camera";
    private static final String FP_CAMERA_PACKAGE = "com.fps.camera";

    public static boolean setApplicationEnabledSetting(Context context, boolean enable) {
    public static boolean setApplicationEnabledSetting(Context context, String packageName, boolean enable) {
        PackageManager pm = context.getPackageManager();
        try {
            pm.setApplicationEnabledSetting(E_CAMERA_PACKAGE,
            pm.setApplicationEnabledSetting(packageName,
                    enable ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
                    PackageManager.DONT_KILL_APP);
            return true;
        } catch (Exception e) {
            Log.e(TAG, "Failed to " + (enable ? "enable" : "disable") + " " + E_CAMERA_PACKAGE, e);
            Log.e(TAG, "Failed to " + (enable ? "enable" : "disable") + " " + packageName, e);
            return false;
        }
    }
@@ -39,10 +40,17 @@ public class ECameraToggleUtils {
        AppPrefs appPrefs = AppPrefs.getInstance(context);

        if (appPrefs.getIsFirstBoot()) {
            boolean isECamDisabled = setApplicationEnabledSetting(context, false);
            boolean isECamDisabled = setApplicationEnabledSetting(context, E_CAMERA_PACKAGE, false);
            if (isECamDisabled) {
                appPrefs.saveIsFirstBoot();
            }
        }

        if (!appPrefs.isFpCameraEnabled()){
            boolean isFpCameraEnabled = setApplicationEnabledSetting(context, FP_CAMERA_PACKAGE, true);
            if (isFpCameraEnabled) {
	        appPrefs.setFpCameraEnabled(true);
	    }
	}
    }
}