diff options
| author | Zhao Wei Liew <zhaoweiliew@gmail.com> | 2016-09-07 18:20:51 +0800 |
|---|---|---|
| committer | Sultan Qasim Khan <sultanqasim@gmail.com> | 2016-11-10 08:54:24 -0500 |
| commit | 09e9781010c91dbe327aa08af3a635b2252557f8 (patch) | |
| tree | 08f035721ec950a778b2e5e45be8908a31df5f3c | |
| parent | 11c4c8f637ec6d037411f20656ef8ac134dbdb98 (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.mk | 21 | ||||
| -rw-r--r-- | doze/AndroidManifest.xml | 4 | ||||
| -rw-r--r-- | doze/proguard.flags | 7 | ||||
| -rw-r--r-- | doze/res/values/styles.xml | 21 | ||||
| -rw-r--r-- | doze/src/com/cyanogenmod/settings/device/GesturePreferenceActivity.java | 32 | ||||
| -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; } |
