diff --git a/AdvancedDisplay/Android.mk b/AdvancedDisplay/Android.mk
index c7ea7d6c..3362e95d 100644
--- a/AdvancedDisplay/Android.mk
+++ b/AdvancedDisplay/Android.mk
@@ -9,8 +9,30 @@ LOCAL_PACKAGE_NAME := AdvancedDisplay
LOCAL_CERTIFICATE := platform
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 \
+ --extra-packages android.support.v7.appcompat \
+ --extra-packages android.support.v7.preference \
+ --extra-packages android.support.v7.recyclerview
+
+include frameworks/base/packages/SettingsLib/common.mk
+
include $(BUILD_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/AdvancedDisplay/AndroidManifest.xml b/AdvancedDisplay/AndroidManifest.xml
index 96798f3d..82b1ad3e 100644
--- a/AdvancedDisplay/AndroidManifest.xml
+++ b/AdvancedDisplay/AndroidManifest.xml
@@ -1,21 +1,23 @@
+ android:sharedUserId="android.uid.system">
-
-
+
+
+
+
+
+
+
+
+ android:theme="@style/AdvancedDisplay">
@@ -26,14 +28,5 @@
android:name="com.android.settings.category"
android:value="com.android.settings.category.device" />
-
-
-
-
-
-
-
-
-
diff --git a/AdvancedDisplay/proguard.flags b/AdvancedDisplay/proguard.flags
new file mode 100644
index 00000000..9f4cf07d
--- /dev/null
+++ b/AdvancedDisplay/proguard.flags
@@ -0,0 +1,5 @@
+-keepclasseswithmembers class * {
+ public (android.content.Context, android.util.AttributeSet);
+}
+
+-keep class ** extends android.support.v14.preference.PreferenceFragment
diff --git a/AdvancedDisplay/res/values/colors.xml b/AdvancedDisplay/res/values/colors.xml
deleted file mode 100644
index 2a95ee2a..00000000
--- a/AdvancedDisplay/res/values/colors.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
- #ff263238
- #ff21272b
- #ff009688
-
diff --git a/AdvancedDisplay/res/values/styles.xml b/AdvancedDisplay/res/values/styles.xml
index af83c00d..ee2d0a57 100644
--- a/AdvancedDisplay/res/values/styles.xml
+++ b/AdvancedDisplay/res/values/styles.xml
@@ -1,8 +1,9 @@
-
-
-
-
diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/AdvancedDisplayActivity.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/AdvancedDisplayActivity.java
new file mode 100644
index 00000000..29ab9b6b
--- /dev/null
+++ b/AdvancedDisplay/src/com/cyanogenmod/settings/device/AdvancedDisplayActivity.java
@@ -0,0 +1,31 @@
+/*
+ * 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.device;
+
+import android.os.Bundle;
+
+import com.android.settingslib.drawer.SettingsDrawerActivity;
+
+public class AdvancedDisplayActivity extends SettingsDrawerActivity {
+
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ getFragmentManager().beginTransaction().replace(R.id.content_frame,
+ new AdvancedDisplayFragment()).commit();
+ }
+}
diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/AdvancedDisplayFragment.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/AdvancedDisplayFragment.java
new file mode 100644
index 00000000..a2b7f7b9
--- /dev/null
+++ b/AdvancedDisplay/src/com/cyanogenmod/settings/device/AdvancedDisplayFragment.java
@@ -0,0 +1,45 @@
+/*
+ * 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.device;
+
+import android.content.res.Resources;
+import android.os.Bundle;
+import android.support.v14.preference.PreferenceFragment;
+
+import com.cyanogenmod.settings.device.R;
+
+import org.cyanogenmod.internal.util.FileUtils;
+
+public class AdvancedDisplayFragment extends PreferenceFragment {
+ private mDNIeScenario mmDNIeScenario;
+ private mDNIeNegative mmDNIeNegative;
+
+ @Override
+ public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
+ addPreferencesFromResource(R.xml.screen_preferences);
+ Resources res = getResources();
+
+ /* mDNIe */
+ mmDNIeScenario = (mDNIeScenario) findPreference(Constants.KEY_MDNIE_SCENARIO);
+ mmDNIeScenario.setEnabled(
+ FileUtils.isFileWritable(res.getString(R.string.mdnie_scenario_sysfs_file)));
+
+ mmDNIeNegative = (mDNIeNegative) findPreference(Constants.KEY_MDNIE_NEGATIVE);
+ mmDNIeNegative.setEnabled(
+ FileUtils.isFileWritable(res.getString(R.string.mdnie_negative_sysfs_file)));
+ }
+}
diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/Startup.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/BootCompletedReceiver.java
similarity index 83%
rename from AdvancedDisplay/src/com/cyanogenmod/settings/device/Startup.java
rename to AdvancedDisplay/src/com/cyanogenmod/settings/device/BootCompletedReceiver.java
index ba7c2c5c..9408f353 100644
--- a/AdvancedDisplay/src/com/cyanogenmod/settings/device/Startup.java
+++ b/AdvancedDisplay/src/com/cyanogenmod/settings/device/BootCompletedReceiver.java
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2012 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.
@@ -20,12 +21,11 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
-public class Startup extends BroadcastReceiver {
+public class BootCompletedReceiver extends BroadcastReceiver {
@Override
- public void onReceive(final Context context, final Intent bootintent) {
+ public void onReceive(Context context, Intent intent) {
mDNIeScenario.restore(context);
mDNIeNegative.restore(context);
- ScreenFragmentActivity.restore(context);
}
}
diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/Constants.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/Constants.java
new file mode 100644
index 00000000..5ce0473d
--- /dev/null
+++ b/AdvancedDisplay/src/com/cyanogenmod/settings/device/Constants.java
@@ -0,0 +1,22 @@
+/*
+ * 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.device;
+
+public class Constants {
+ static final String KEY_MDNIE_SCENARIO = "mdnie_scenario";
+ static final String KEY_MDNIE_NEGATIVE = "mdnie_negative";
+}
diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/DisplaySettings.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/DisplaySettings.java
deleted file mode 100644
index 147fe5e1..00000000
--- a/AdvancedDisplay/src/com/cyanogenmod/settings/device/DisplaySettings.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (C) 2012 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.app.Activity;
-import android.app.ActionBar;
-import android.app.Activity;
-import android.app.Fragment;
-import android.app.FragmentTransaction;
-import android.content.Context;
-import android.os.Bundle;
-import android.view.MenuItem;
-import android.widget.FrameLayout;
-
-import com.cyanogenmod.settings.device.R;
-
-import java.util.ArrayList;
-
-public class DisplaySettings extends Activity {
-
- public static final String SHARED_PREFERENCES_BASENAME = "com.cyanogenmod.settings.device";
- public static final String ACTION_UPDATE_PREFERENCES = "com.cyanogenmod.settings.device.UPDATE";
- public static final String KEY_MDNIE_SCENARIO = "mdnie_scenario";
- public static final String KEY_MDNIE_NEGATIVE = "mdnie_negative";
-
- ScreenFragmentActivity mFragment;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- mFragment = new ScreenFragmentActivity();
- setContentView(R.layout.framelayout);
- getFragmentManager().beginTransaction().add(R.id.frameLayout, mFragment).commit();
-
- final ActionBar bar = getActionBar();
- bar.setTitle(R.string.app_name);
- bar.setDisplayHomeAsUpEnabled(true);
-
- }
-
- @Override
- protected void onSaveInstanceState(Bundle outState) {
- super.onSaveInstanceState(outState);
- }
-
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
- case android.R.id.home:
- DisplaySettings.this.onBackPressed();
- default:
- return super.onOptionsItemSelected(item);
- }
- }
-}
diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java
deleted file mode 100644
index 7a99daf2..00000000
--- a/AdvancedDisplay/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2012 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.content.Context;
-import android.content.res.Resources;
-import android.content.SharedPreferences;
-import android.os.Bundle;
-import android.preference.CheckBoxPreference;
-import android.preference.ListPreference;
-import android.preference.Preference;
-import android.preference.PreferenceActivity;
-import android.preference.PreferenceCategory;
-import android.preference.PreferenceFragment;
-import android.preference.PreferenceManager;
-import android.preference.PreferenceScreen;
-import android.util.Log;
-
-import com.cyanogenmod.settings.device.R;
-import org.cyanogenmod.internal.util.FileUtils;
-
-public class ScreenFragmentActivity extends PreferenceFragment {
-
- private static final String PREF_ENABLED = "1";
- private static final String TAG = "DisplaySettings_Screen";
- private mDNIeScenario mmDNIeScenario;
- private mDNIeNegative mmDNIeNegative;
-
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
-
- addPreferencesFromResource(R.xml.screen_preferences);
- PreferenceScreen preferenceScreen = getPreferenceScreen();
- Resources res = getResources();
-
- /* mDNIe */
- mmDNIeScenario = (mDNIeScenario) findPreference(DisplaySettings.KEY_MDNIE_SCENARIO);
- mmDNIeScenario.setEnabled(mDNIeScenario.isSupported(res.getString(R.string.mdnie_scenario_sysfs_file)));
-
- mmDNIeNegative = (mDNIeNegative) findPreference(DisplaySettings.KEY_MDNIE_NEGATIVE);
- mmDNIeNegative.setEnabled(mDNIeNegative.isSupported(res.getString(R.string.mdnie_negative_sysfs_file)));
-
- }
-
- @Override
- public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
-
- String key = preference.getKey();
- Log.w(TAG, "key: " + key);
-
- return true;
- }
-
- public static boolean isSupported(String filePath) {
- return FileUtils.isFileWritable(filePath);
- }
-
- public static void restore(Context context) {
- SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
- }
-}
diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeNegative.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeNegative.java
index a5e20f2c..fc24e980 100644
--- a/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeNegative.java
+++ b/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeNegative.java
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2012 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.
@@ -16,14 +17,13 @@
package com.cyanogenmod.settings.device;
-import java.io.IOException;
import android.content.Context;
-import android.util.AttributeSet;
import android.content.SharedPreferences;
-import android.preference.Preference;
-import android.preference.ListPreference;
-import android.preference.Preference.OnPreferenceChangeListener;
-import android.preference.PreferenceManager;
+import android.support.v7.preference.ListPreference;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.Preference.OnPreferenceChangeListener;
+import android.support.v7.preference.PreferenceManager;
+import android.util.AttributeSet;
import org.cyanogenmod.internal.util.FileUtils;
@@ -37,27 +37,22 @@ public class mDNIeNegative extends ListPreference implements OnPreferenceChangeL
FILE = context.getResources().getString(R.string.mdnie_negative_sysfs_file);
}
- public static boolean isSupported(String filePath) {
- return FileUtils.isFileWritable(filePath);
- }
-
/**
* Restore mdnie user mode setting from SharedPreferences. (Write to kernel.)
* @param context The context to read the SharedPreferences from
*/
public static void restore(Context context) {
FILE = context.getResources().getString(R.string.mdnie_negative_sysfs_file);
- if (!isSupported(FILE)) {
+ if (!FileUtils.isFileWritable(FILE)) {
return;
}
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
- FileUtils.writeLine(FILE, sharedPrefs.getString(DisplaySettings.KEY_MDNIE_NEGATIVE, "0"));
+ FileUtils.writeLine(FILE, sharedPrefs.getString(Constants.KEY_MDNIE_NEGATIVE, "0"));
}
public boolean onPreferenceChange(Preference preference, Object newValue) {
FileUtils.writeLine(FILE, (String) newValue);
return true;
}
-
}
diff --git a/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeScenario.java b/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeScenario.java
index 5d33fe91..bd5a6986 100644
--- a/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeScenario.java
+++ b/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeScenario.java
@@ -1,5 +1,6 @@
/*
* Copyright (C) 2012 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.
@@ -17,13 +18,12 @@
package com.cyanogenmod.settings.device;
import android.content.Context;
-
import android.content.SharedPreferences;
+import android.support.v7.preference.ListPreference;
+import android.support.v7.preference.Preference;
+import android.support.v7.preference.Preference.OnPreferenceChangeListener;
+import android.support.v7.preference.PreferenceManager;
import android.util.AttributeSet;
-import android.preference.Preference;
-import android.preference.ListPreference;
-import android.preference.Preference.OnPreferenceChangeListener;
-import android.preference.PreferenceManager;
import org.cyanogenmod.internal.util.FileUtils;
@@ -37,27 +37,22 @@ public class mDNIeScenario extends ListPreference implements OnPreferenceChangeL
FILE = context.getResources().getString(R.string.mdnie_scenario_sysfs_file);
}
- public static boolean isSupported(String filePath) {
- return FileUtils.isFileWritable(filePath);
- }
-
/**
* Restore mdnie "camera" setting from SharedPreferences. (Write to kernel.)
* @param context The context to read the SharedPreferences from
*/
public static void restore(Context context) {
FILE = context.getResources().getString(R.string.mdnie_scenario_sysfs_file);
- if (!isSupported(FILE)) {
+ if (!FileUtils.isFileWritable(FILE)) {
return;
}
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
- FileUtils.writeLine(FILE, sharedPrefs.getString(DisplaySettings.KEY_MDNIE_SCENARIO, "0"));
+ FileUtils.writeLine(FILE, sharedPrefs.getString(Constants.KEY_MDNIE_SCENARIO, "0"));
}
public boolean onPreferenceChange(Preference preference, Object newValue) {
FileUtils.writeLine(FILE, (String) newValue);
return true;
}
-
}