aboutsummaryrefslogtreecommitdiff
path: root/doze/src
diff options
context:
space:
mode:
Diffstat (limited to 'doze/src')
-rw-r--r--doze/src/com/cyanogenmod/settings/doze/DozeReceiver.java55
-rw-r--r--doze/src/com/cyanogenmod/settings/doze/DozeSettingsActivity.java (renamed from doze/src/com/cyanogenmod/settings/doze/DozeSettings.java)19
-rw-r--r--doze/src/com/cyanogenmod/settings/doze/DozeSettingsFragment.java106
-rw-r--r--doze/src/com/cyanogenmod/settings/doze/Utils.java21
4 files changed, 52 insertions, 149 deletions
diff --git a/doze/src/com/cyanogenmod/settings/doze/DozeReceiver.java b/doze/src/com/cyanogenmod/settings/doze/DozeReceiver.java
deleted file mode 100644
index ee92ab4..0000000
--- a/doze/src/com/cyanogenmod/settings/doze/DozeReceiver.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2016 The CyanogenMod Project
- * Copyright (C) 2017 The LineageOS Project
- *
- * 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.cyanogenmod.settings.doze;
-
-import android.content.Context;
-import android.content.Intent;
-import android.util.Log;
-
-import cyanogenmod.preference.RemotePreferenceUpdater;
-
-public class DozeReceiver extends RemotePreferenceUpdater {
-
- private static final boolean DEBUG = false;
- private static final String TAG = "XiaomiDoze";
-
- private static final String DOZE_CATEGORY_KEY = "doze_device_settings";
-
- @Override
- public void onReceive(Context context, Intent intent) {
- super.onReceive(context, intent);
-
- if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
- if (Utils.isDozeEnabled(context) && Utils.sensorsEnabled(context)) {
- if (DEBUG) Log.d(TAG, "Starting service");
- Utils.startService(context);
- }
- }
- }
-
- @Override
- public String getSummary(Context context, String key) {
- if (DOZE_CATEGORY_KEY.equals(key)) {
- return DozeSettingsFragment.getDozeSummary(context);
- }
- return null;
- }
-
- static void notifyChanged(Context context) {
- notifyChanged(context, DOZE_CATEGORY_KEY);
- }
-}
diff --git a/doze/src/com/cyanogenmod/settings/doze/DozeSettings.java b/doze/src/com/cyanogenmod/settings/doze/DozeSettingsActivity.java
index 603e5ef..7e3620a 100644
--- a/doze/src/com/cyanogenmod/settings/doze/DozeSettings.java
+++ b/doze/src/com/cyanogenmod/settings/doze/DozeSettingsActivity.java
@@ -1,6 +1,6 @@
/*
- * Copyright (C) 2016 The CyanogenMod Project
- * Copyright (C) 2017 The LineageOS Project
+ * Copyright (C) 2015-2016 The CyanogenMod Project
+ * 2017 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,15 +14,15 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
package com.cyanogenmod.settings.doze;
-import android.app.Activity;
import android.os.Bundle;
import android.view.MenuItem;
import com.android.settingslib.drawer.SettingsDrawerActivity;
-public class DozeSettings extends SettingsDrawerActivity {
+public class DozeSettingsActivity extends SettingsDrawerActivity {
private static final String TAG_DOZE = "doze";
@@ -31,17 +31,18 @@ public class DozeSettings extends SettingsDrawerActivity {
super.onCreate(savedInstanceState);
setContentView(R.layout.doze);
-
+ getActionBar().setDisplayHomeAsUpEnabled(true);
getFragmentManager().beginTransaction().replace(R.id.content_frame,
new DozeSettingsFragment(), TAG_DOZE).commit();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- if (item.getItemId() == android.R.id.home) {
- onBackPressed();
- return true;
+ switch (item.getItemId()) {
+ case android.R.id.home:
+ onBackPressed();
+ return true;
}
- return false;
+ return super.onOptionsItemSelected(item);
}
}
diff --git a/doze/src/com/cyanogenmod/settings/doze/DozeSettingsFragment.java b/doze/src/com/cyanogenmod/settings/doze/DozeSettingsFragment.java
index 8b56e67..6aff232 100644
--- a/doze/src/com/cyanogenmod/settings/doze/DozeSettingsFragment.java
+++ b/doze/src/com/cyanogenmod/settings/doze/DozeSettingsFragment.java
@@ -1,6 +1,6 @@
/*
* Copyright (C) 2015 The CyanogenMod Project
- * Copyright (C) 2017 The LineageOS Project
+ * 2017 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,7 +17,6 @@
package com.cyanogenmod.settings.doze;
-import android.app.ActionBar;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
@@ -37,95 +36,60 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.Switch;
+import android.widget.TextView;
public class DozeSettingsFragment extends PreferenceFragment implements OnPreferenceChangeListener,
CompoundButton.OnCheckedChangeListener {
- private SharedPreferences mPreferences;
+ private TextView mTextView;
private SwitchPreference mPickUpPreference;
private SwitchPreference mHandwavePreference;
private SwitchPreference mPocketPreference;
- private ContentObserver mDozeObserver = new ContentObserver(new Handler()) {
- @Override
- public void onChange(boolean selfChange) {
- super.onChange(selfChange);
-
- updateSwitches(Utils.isDozeEnabled(getActivity()));
- DozeReceiver.notifyChanged(getActivity());
- }
- };
-
- static String getDozeSummary(Context context) {
- if (Utils.isDozeEnabled(context)) {
- return context.getString(R.string.ambient_display_summary_on);
- }
- return context.getString(R.string.ambient_display_summary_off);
- }
-
- @Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
- getActivity().getActionBar().setDisplayHomeAsUpEnabled(true);
- }
-
- @Override
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
- Bundle savedInstanceState) {
- final View view = LayoutInflater.from(getContext()).inflate(R.layout.doze, container, false);
- ((ViewGroup) view).addView(super.onCreateView(inflater, container, savedInstanceState));
- return view;
- }
-
@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
addPreferencesFromResource(R.xml.doze_settings);
- // get shared preference
- mPreferences = getActivity().getSharedPreferences("doze_settings", Activity.MODE_PRIVATE);
-
- if (savedInstanceState == null && !mPreferences.getBoolean("first_help_shown", false)) {
+ SharedPreferences prefs = getActivity().getSharedPreferences("doze_settings",
+ Activity.MODE_PRIVATE);
+ if (savedInstanceState == null && !prefs.getBoolean("first_help_shown", false)) {
showHelp();
}
+ boolean dozeEnabled = Utils.isDozeEnabled(getActivity());
+
mPickUpPreference = (SwitchPreference) findPreference(Utils.GESTURE_PICK_UP_KEY);
- mPickUpPreference.setOnPreferenceChangeListener(this);
+ mPickUpPreference.setEnabled(dozeEnabled);
mHandwavePreference = (SwitchPreference) findPreference(Utils.GESTURE_HAND_WAVE_KEY);
- mHandwavePreference.setOnPreferenceChangeListener(this);
+ mHandwavePreference.setEnabled(dozeEnabled);
mPocketPreference = (SwitchPreference) findPreference(Utils.GESTURE_POCKET_KEY);
- mPocketPreference.setOnPreferenceChangeListener(this);
+ mPocketPreference.setEnabled(dozeEnabled);
}
@Override
- public void onResume() {
- super.onResume();
- getActivity().getContentResolver().registerContentObserver(
- Utils.DOZE_ENABLED_URI, false, mDozeObserver);
- updateSwitches(Utils.isDozeEnabled(getActivity()));
- }
-
- @Override
- public void onPause() {
- super.onPause();
- getActivity().getContentResolver().unregisterContentObserver(mDozeObserver);
- }
-
- private void updateSwitches(boolean enabled) {
- mPickUpPreference.setEnabled(enabled);
- mHandwavePreference.setEnabled(enabled);
- mPocketPreference.setEnabled(enabled);
+ public View onCreateView(LayoutInflater inflater, ViewGroup container,
+ Bundle savedInstanceState) {
+ final View view = LayoutInflater.from(getContext()).inflate(R.layout.doze, container, false);
+ ((ViewGroup) view).addView(super.onCreateView(inflater, container, savedInstanceState));
+ return view;
}
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
+ boolean dozeEnabled = Utils.isDozeEnabled(getActivity());
+
+ mTextView = (TextView) view.findViewById(R.id.switch_text);
+ mTextView.setText(getString(dozeEnabled ?
+ R.string.switch_bar_on : R.string.switch_bar_off));
+
View switchBar = view.findViewById(R.id.switch_bar);
Switch switchWidget = (Switch) switchBar.findViewById(android.R.id.switch_widget);
- switchWidget.setChecked(Utils.isDozeEnabled(getActivity()));
+ switchWidget.setChecked(dozeEnabled);
switchWidget.setOnCheckedChangeListener(this);
switchBar.setOnClickListener(new View.OnClickListener() {
@@ -136,31 +100,25 @@ public class DozeSettingsFragment extends PreferenceFragment implements OnPrefer
});
}
-
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
- final String key = preference.getKey();
- final boolean value = (Boolean) newValue;
- if (Utils.GESTURE_PICK_UP_KEY.equals(key)) {
- mPickUpPreference.setChecked(value);
- } else if (Utils.GESTURE_HAND_WAVE_KEY.equals(key)) {
- mHandwavePreference.setChecked(value);
- } else if (Utils.GESTURE_POCKET_KEY.equals(key)) {
- mPocketPreference.setChecked(value);
- } else {
- return false;
- }
-
- Utils.startService(getActivity());
+ Utils.checkDozeService(getActivity());
return true;
}
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean b) {
Utils.enableDoze(b, getActivity());
+ Utils.checkDozeService(getActivity());
+
+ mTextView.setText(getString(b ? R.string.switch_bar_on : R.string.switch_bar_off));
+
+ mPickUpPreference.setEnabled(b);
+ mHandwavePreference.setEnabled(b);
+ mPocketPreference.setEnabled(b);
}
- public static class HelpDialogFragment extends DialogFragment {
+ private static class HelpDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return new AlertDialog.Builder(getActivity())
diff --git a/doze/src/com/cyanogenmod/settings/doze/Utils.java b/doze/src/com/cyanogenmod/settings/doze/Utils.java
index 7e13eb1..65f1d99 100644
--- a/doze/src/com/cyanogenmod/settings/doze/Utils.java
+++ b/doze/src/com/cyanogenmod/settings/doze/Utils.java
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2015 The CyanogenMod Project
- * Copyright (C) 2017 The LineageOS Project
+ * 2017 The LineageOS Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,7 +19,6 @@ package com.cyanogenmod.settings.doze;
import android.content.Context;
import android.content.Intent;
-import android.net.Uri;
import android.os.UserHandle;
import android.support.v7.preference.PreferenceManager;
import android.provider.Settings;
@@ -38,8 +37,6 @@ public final class Utils {
protected static final String GESTURE_HAND_WAVE_KEY = "gesture_hand_wave";
protected static final String GESTURE_POCKET_KEY = "gesture_pocket";
- public static final Uri DOZE_ENABLED_URI = Settings.Secure.getUriFor(DOZE_ENABLED);
-
protected static void startService(Context context) {
if (DEBUG) Log.d(TAG, "Starting service");
context.startServiceAsUser(new Intent(context, DozeService.class),
@@ -52,20 +49,22 @@ public final class Utils {
UserHandle.CURRENT);
}
+ protected static void checkDozeService(Context context) {
+ if (isDozeEnabled(context) && sensorsEnabled(context)) {
+ startService(context);
+ } else {
+ stopService(context);
+ }
+ }
+
protected static boolean isDozeEnabled(Context context) {
return Settings.Secure.getInt(context.getContentResolver(),
DOZE_ENABLED, 1) != 0;
}
protected static boolean enableDoze(boolean enable, Context context) {
- boolean dozeEnabled = Settings.Secure.putInt(context.getContentResolver(),
+ return Settings.Secure.putInt(context.getContentResolver(),
DOZE_ENABLED, enable ? 1 : 0);
- if (enable) {
- startService(context);
- } else {
- stopService(context);
- }
- return dozeEnabled;
}
protected static void launchDozePulse(Context context) {