aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZhao Wei Liew <zhaoweiliew@gmail.com>2016-09-07 18:20:51 +0800
committerSultan Qasim Khan <sultanqasim@gmail.com>2016-11-10 08:54:24 -0500
commit09e9781010c91dbe327aa08af3a635b2252557f8 (patch)
tree08f035721ec950a778b2e5e45be8908a31df5f3c
parent11c4c8f637ec6d037411f20656ef8ac134dbdb98 (diff)
condor: doze: Integrate with Settings
Bring this up to speed on the Settings changes in N: * Use support libs for preferences * Hook up to Settings drawer through SettingsDrawerActivity Change-Id: I94c7de4768b6e8e2888d2adf9de23c567a324bda
-rw-r--r--doze/Android.mk21
-rw-r--r--doze/AndroidManifest.xml4
-rw-r--r--doze/proguard.flags7
-rw-r--r--doze/res/values/styles.xml21
-rw-r--r--doze/src/com/cyanogenmod/settings/device/GesturePreferenceActivity.java32
-rw-r--r--doze/src/com/cyanogenmod/settings/device/GesturePreferenceFragment.java (renamed from doze/src/com/cyanogenmod/settings/device/TouchscreenGestureSettings.java)25
6 files changed, 90 insertions, 20 deletions
diff --git a/doze/Android.mk b/doze/Android.mk
index d014783..8e99d7c 100644
--- a/doze/Android.mk
+++ b/doze/Android.mk
@@ -10,10 +10,31 @@ LOCAL_CERTIFICATE := platform
LOCAL_PRIVILEGED_MODULE := true
LOCAL_STATIC_JAVA_LIBRARIES := \
+ android-support-v14-preference \
+ android-support-v7-appcompat \
+ android-support-v7-preference \
+ android-support-v7-recyclerview \
org.cyanogenmod.platform.internal
LOCAL_PROGUARD_FLAG_FILES := proguard.flags
+LOCAL_RESOURCE_DIR := \
+ $(LOCAL_PATH)/res \
+ frameworks/support/v14/preference/res \
+ frameworks/support/v7/appcompat/res \
+ frameworks/support/v7/preference/res \
+ frameworks/support/v7/recyclerview/res
+
+LOCAL_AAPT_FLAGS := --auto-add-overlay \
+ --extra-packages android.support.v14.preference:android.support.v7.appcompat:android.support.v7.preference:android.support.v7.recyclerview
+
+ifneq ($(INCREMENTAL_BUILDS),)
+ LOCAL_PROGUARD_ENABLED := disabled
+ LOCAL_JACK_ENABLED := incremental
+endif
+
+include frameworks/base/packages/SettingsLib/common.mk
+
include $(BUILD_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/doze/AndroidManifest.xml b/doze/AndroidManifest.xml
index c3426c7..c3138ad 100644
--- a/doze/AndroidManifest.xml
+++ b/doze/AndroidManifest.xml
@@ -28,9 +28,9 @@
</service>
<activity
- android:name=".TouchscreenGestureSettings"
+ android:name=".GesturePreferenceActivity"
android:label="@string/screen_gestures_panel_title"
- android:theme="@android:style/Theme.Material.Settings">
+ android:theme="@style/MotoDoze">
<intent-filter>
<action android:name="com.android.settings.action.EXTRA_SETTINGS" />
</intent-filter>
diff --git a/doze/proguard.flags b/doze/proguard.flags
index 3bb1f2c..0aa30af 100644
--- a/doze/proguard.flags
+++ b/doze/proguard.flags
@@ -1,3 +1,10 @@
-keep class com.cyanogenmod.settings.device.* {
*;
}
+
+
+-keepclasseswithmembers class * {
+ public <init>(android.content.Context, android.util.AttributeSet);
+}
+
+-keep class ** extends android.support.v14.preference.PreferenceFragment
diff --git a/doze/res/values/styles.xml b/doze/res/values/styles.xml
new file mode 100644
index 0000000..635692a
--- /dev/null
+++ b/doze/res/values/styles.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+ Copyright (C) 2016 The CyanogenMod 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.
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <style name="MotoDoze" parent="@android:style/Theme.Material.Settings">
+ <item name="preferenceTheme">@android:style/Theme.Material.Settings</item>
+ </style>
+</resources>
diff --git a/doze/src/com/cyanogenmod/settings/device/GesturePreferenceActivity.java b/doze/src/com/cyanogenmod/settings/device/GesturePreferenceActivity.java
new file mode 100644
index 0000000..ccc27be
--- /dev/null
+++ b/doze/src/com/cyanogenmod/settings/device/GesturePreferenceActivity.java
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2016 The CyanogenMod 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.device;
+
+import android.os.Bundle;
+
+import com.android.settingslib.drawer.SettingsDrawerActivity;
+
+public class GesturePreferenceActivity extends SettingsDrawerActivity {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ getFragmentManager().beginTransaction()
+ .replace(R.id.content_frame, new GesturePreferenceFragment()).commit();
+ }
+
+}
diff --git a/doze/src/com/cyanogenmod/settings/device/TouchscreenGestureSettings.java b/doze/src/com/cyanogenmod/settings/device/GesturePreferenceFragment.java
index 08a184b..df3a141 100644
--- a/doze/src/com/cyanogenmod/settings/device/TouchscreenGestureSettings.java
+++ b/doze/src/com/cyanogenmod/settings/device/GesturePreferenceFragment.java
@@ -20,13 +20,13 @@ import org.cyanogenmod.internal.util.ScreenType;
import android.app.ActionBar;
import android.os.Bundle;
-import android.preference.Preference;
-import android.preference.PreferenceActivity;
-import android.preference.SwitchPreference;
+import android.support.v7.preference.Preference;
+import android.support.v14.preference.PreferenceFragment;
+import android.support.v14.preference.SwitchPreference;
import android.provider.Settings;
import android.view.Menu;
-public class TouchscreenGestureSettings extends PreferenceActivity {
+public class GesturePreferenceFragment extends PreferenceFragment {
private static final String KEY_AMBIENT_DISPLAY_ENABLE = "ambient_display_enable";
private static final String KEY_GESTURE_POCKET = "gesture_pocket";
@@ -37,8 +37,7 @@ public class TouchscreenGestureSettings extends PreferenceActivity {
private SwitchPreference mHandwavePreference;
@Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
addPreferencesFromResource(R.xml.gesture_panel);
boolean dozeEnabled = isDozeEnabled();
mAmbientDisplayPreference =
@@ -54,23 +53,13 @@ public class TouchscreenGestureSettings extends PreferenceActivity {
mHandwavePreference.setEnabled(dozeEnabled);
}
- @Override
- protected void onResume() {
- super.onResume();
-
- // If running on a phone, remove padding around the listview
- if (!ScreenType.isTablet(this)) {
- getListView().setPadding(0, 0, 0, 0);
- }
- }
-
private boolean enableDoze(boolean enable) {
- return Settings.Secure.putInt(getContentResolver(),
+ return Settings.Secure.putInt(getActivity().getContentResolver(),
Settings.Secure.DOZE_ENABLED, enable ? 1 : 0);
}
private boolean isDozeEnabled() {
- return Settings.Secure.getInt(getContentResolver(),
+ return Settings.Secure.getInt(getActivity().getContentResolver(),
Settings.Secure.DOZE_ENABLED, 1) != 0;
}