exynos4: commonize AdvancedDisplay [1/3]

* show in settings
* drop support lib
* drop unnecessary viewpager/tab bar
* drop unused strings/resources

Change-Id: I90c62d7b106ad744ae698044f6f17a759fcbf8a3
tirimbino
Simon Shields 9 years ago
parent 90ced08026
commit 9b5063f0ed
  1. 13
      exynos4/AdvancedDisplay/Android.mk
  2. 39
      exynos4/AdvancedDisplay/AndroidManifest.xml
  3. 30
      exynos4/AdvancedDisplay/res/drawable/ic_settings_advanced_display.xml
  4. 5
      exynos4/AdvancedDisplay/res/layout/framelayout.xml
  5. 65
      exynos4/AdvancedDisplay/res/values/arrays.xml
  6. 22
      exynos4/AdvancedDisplay/res/values/colors.xml
  7. 26
      exynos4/AdvancedDisplay/res/values/config.xml
  8. 20
      exynos4/AdvancedDisplay/res/values/dimens.xml
  9. 31
      exynos4/AdvancedDisplay/res/values/strings.xml
  10. 29
      exynos4/AdvancedDisplay/res/values/styles.xml
  11. 36
      exynos4/AdvancedDisplay/res/xml/screen_preferences.xml
  12. 70
      exynos4/AdvancedDisplay/src/com/cyanogenmod/settings/device/DisplaySettings.java
  13. 79
      exynos4/AdvancedDisplay/src/com/cyanogenmod/settings/device/ScreenFragmentActivity.java
  14. 32
      exynos4/AdvancedDisplay/src/com/cyanogenmod/settings/device/Startup.java
  15. 83
      exynos4/AdvancedDisplay/src/com/cyanogenmod/settings/device/Utils.java
  16. 61
      exynos4/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeMode.java
  17. 61
      exynos4/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeNegative.java
  18. 61
      exynos4/AdvancedDisplay/src/com/cyanogenmod/settings/device/mDNIeScenario.java

@ -0,0 +1,13 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(call all-java-files-under, src)
LOCAL_PACKAGE_NAME := AdvancedDisplay
LOCAL_CERTIFICATE := platform
include $(BUILD_PACKAGE)
include $(call all-makefiles-under,$(LOCAL_PATH))

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.cyanogenmod.settings.device"
android:sharedUserId="android.uid.system" >
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
<application android:label="@string/app_name">
<activity
android:name="com.cyanogenmod.settings.device.DisplaySettings"
android:launchMode="singleTop"
android:icon="@drawable/ic_settings_advanced_display"
android:hardwareAccelerated="true"
android:configChanges="orientation|keyboardHidden|screenSize"
android:label="@string/app_name"
android:theme="@style/Theme.Main"
android:excludeFromRecents="true" >
<intent-filter>
<action android:name="com.android.settings.action.EXTRA_SETTINGS" />
</intent-filter>
<meta-data
android:name="com.android.settings.icon"
android:resource="@drawable/ic_settings_advanced_display" />
<meta-data
android:name="com.android.settings.category"
android:value="com.android.settings.category.device" />
</activity>
<receiver android:name=".Startup">
<intent-filter android:priority="100">
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
<activity android:name=".ScreenFragmentActivity" />
</application>
</manifest>

@ -0,0 +1,30 @@
<?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.
-->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M0 0h24v24H0z" />
<path
android:fillColor="#000000"
android:pathData="M12.01 5.5L10 8h4l-1.99-2.5zM18 10v4l2.5-1.99L18 10zM6 10l-2.5 2.01L6 14v-4zm8
6h-4l2.01 2.5L14 16zm7-13H3c-1.1 0-2 .9-2 2v14c0 1.1 .9 2 2 2h18c1.1 0 2-.9
2-2V5c0-1.1-.9-2-2-2zm0 16.01H3V4.99h18v14.02z" />
</vector>

@ -0,0 +1,5 @@
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/frameLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" />

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2012-2014 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">
<string-array name="mdnie_scenario_entries">
<item>CyanogenMod (default)</item>
<item>UI</item>
<item>Video</item>
<item>Video warm</item>
<item>Video cold</item>
<item>Camera</item>
<item>Navigation</item>
<item>Gallery</item>
<item>VT</item>
</string-array>
<string-array name="mdnie_scenario_entries_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
<item>4</item>
<item>5</item>
<item>6</item>
<item>7</item>
<item>8</item>
</string-array>
<string-array name="mdnie_mode_entries">
<item>Dynamic (default)</item>
<item>Standard</item>
<item>Natural</item>
<item>Movie</item>
</string-array>
<string-array name="mdnie_mode_entries_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
<item>3</item>
</string-array>
<string-array name="mdnie_negative_entries">
<item>Normal</item>
<item>Inverted</item>
</string-array>
<string-array name="mdnie_negative_entries_values" translatable="false">
<item>0</item>
<item>1</item>
</string-array>
</resources>

@ -0,0 +1,22 @@
<?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>
<!-- Palette colors referenced by top-level themes. -->
<color name="theme_primary">#ff263238</color>
<color name="theme_primary_dark">#ff21272b</color>
<color name="theme_accent">#ff009688</color>
</resources>

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2013 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.
-->
<!-- These resources are around just to allow their values to be customized
for different hardware and product builds. -->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- MDNIE -->
<string name="mdnie_scenario_sysfs_file" translatable="false">"/sys/class/mdnie/mdnie/scenario"</string>
<string name="mdnie_mode_sysfs_file" translatable="false">"/sys/class/mdnie/mdnie/mode"</string>
<string name="mdnie_negative_sysfs_file" translatable="false">"/sys/class/mdnie/mdnie/negative"</string>
</resources>

@ -0,0 +1,20 @@
<?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>
<!-- ActionBar contentInsetStart -->
<dimen name="actionbar_subsettings_contentInsetStart">72dp</dimen>
</resources>

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (C) 2012-2014 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">
<string name="app_name">Advanced display</string>
<!-- Screen Preference -->
<string name="category_screen_title">Screen</string>
<string name="screen_colors_title">Colors</string>
<!-- mDNIe -->
<string name="mdnie_scenario_title_head">Scenario</string>
<string name="mdnie_scenario_summary_head">Set the mDNIe scenario</string>
<string name="mdnie_mode_title_head">Mode</string>
<string name="mdnie_mode_summary_head">Set the mDNIe mode</string>
<string name="mdnie_negative_title_head">Negative mode</string>
<string name="mdnie_negative_summary_head">Enable/disable inverted colors</string>
</resources>

@ -0,0 +1,29 @@
<?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>
<style name="Theme.Main" parent="@android:style/Theme.Material.Light.DarkActionBar">
<item name="android:colorPrimary">@color/theme_primary</item>
<item name="android:colorPrimaryDark">@color/theme_primary_dark</item>
<item name="android:colorAccent">@color/theme_accent</item>
<!-- Redefine the ActionBar style for contentInsetStart -->
<item name="android:actionBarStyle">@style/Theme.ActionBar.SubSettings</item>
</style>
<style name="Theme.ActionBar.SubSettings" parent="@android:style/Widget.Material.Light.ActionBar.Solid">
<item name="android:contentInsetStart">@dimen/actionbar_subsettings_contentInsetStart</item>
</style>
</resources>

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Screen -->
<PreferenceCategory
android:title="@string/screen_colors_title">
<!-- mDNIe Scenario modes -->
<com.cyanogenmod.settings.device.mDNIeScenario
android:key="mdnie_scenario"
android:title="@string/mdnie_scenario_title_head"
android:summary="@string/mdnie_scenario_summary_head"
android:entries="@array/mdnie_scenario_entries"
android:entryValues="@array/mdnie_scenario_entries_values"
android:defaultValue="0" />
<!-- mDNIe Mode -->
<com.cyanogenmod.settings.device.mDNIeMode
android:key="mdnie_mode"
android:title="@string/mdnie_mode_title_head"
android:summary="@string/mdnie_mode_summary_head"
android:entries="@array/mdnie_mode_entries"
android:entryValues="@array/mdnie_mode_entries_values"
android:defaultValue="0" />
<!-- mDNIe Negative mode -->
<com.cyanogenmod.settings.device.mDNIeNegative
android:key="mdnie_negative"
android:title="@string/mdnie_negative_title_head"
android:summary="@string/mdnie_negative_summary_head"
android:entries="@array/mdnie_negative_entries"
android:entryValues="@array/mdnie_negative_entries_values"
android:defaultValue="0" />
</PreferenceCategory>
</PreferenceScreen>

@ -0,0 +1,70 @@
/*
* 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_MODE = "mdnie_mode";
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);
}
}
}

@ -0,0 +1,79 @@
/*
* 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;
public class ScreenFragmentActivity extends PreferenceFragment {
private static final String PREF_ENABLED = "1";
private static final String TAG = "DisplaySettings_Screen";
private mDNIeScenario mmDNIeScenario;
private mDNIeMode mmDNIeMode;
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)));
mmDNIeMode = (mDNIeMode) findPreference(DisplaySettings.KEY_MDNIE_MODE);
mmDNIeMode.setEnabled(mDNIeMode.isSupported(res.getString(R.string.mdnie_mode_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 FILE) {
return Utils.fileExists(FILE);
}
public static void restore(Context context) {
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
}
}

@ -0,0 +1,32 @@
/*
* 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.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class Startup extends BroadcastReceiver {
@Override
public void onReceive(final Context context, final Intent bootintent) {
mDNIeScenario.restore(context);
mDNIeMode.restore(context);
mDNIeNegative.restore(context);
ScreenFragmentActivity.restore(context);
}
}

@ -0,0 +1,83 @@
/*
* 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.util.Log;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.SyncFailedException;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Context;
public class Utils {
private static final String TAG = "DeviceSettings_Utils";
private static final String TAG_READ = "DeviceSettings_Utils_Read";
private static final String TAG_WRITE = "DeviceSettings_Utils_Write";
/**
* Write a string value to the specified file.
*
* @param filename The filename
* @param value The value
*/
public static void writeValue(String filename, String value) {
FileOutputStream fos = null;
try {
fos = new FileOutputStream(new File(filename), false);
fos.write(value.getBytes());
fos.flush();
// fos.getFD().sync();
} catch (FileNotFoundException ex) {
Log.w(TAG, "file " + filename + " not found: " + ex);
} catch (SyncFailedException ex) {
Log.w(TAG, "file " + filename + " sync failed: " + ex);
} catch (IOException ex) {
Log.w(TAG, "IOException trying to sync " + filename + ": " + ex);
} catch (RuntimeException ex) {
Log.w(TAG, "exception while syncing file: ", ex);
} finally {
if (fos != null) {
try {
Log.w(TAG_WRITE, "file " + filename + ": " + value);
fos.close();
} catch (IOException ex) {
Log.w(TAG, "IOException while closing synced file: ", ex);
} catch (RuntimeException ex) {
Log.w(TAG, "exception while closing file: ", ex);
}
}
}
}
/**
* Check if the specified file exists.
* @param filename The filename
* @return Whether the file exists or not
*/
public static boolean fileExists(String filename) {
return new File(filename).exists();
}
}

@ -0,0 +1,61 @@
/*
* 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.SharedPreferences;
import android.util.AttributeSet;
import android.preference.Preference;
import android.preference.ListPreference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceManager;
public class mDNIeMode extends ListPreference implements OnPreferenceChangeListener {
private static String FILE = null;
public mDNIeMode(Context context, AttributeSet attrs) {
super(context, attrs);
this.setOnPreferenceChangeListener(this);
FILE = context.getResources().getString(R.string.mdnie_mode_sysfs_file);
}
public static boolean isSupported(String filePath) {
return Utils.fileExists(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_mode_sysfs_file);
if (!isSupported(FILE)) {
return;
}
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
Utils.writeValue(FILE, sharedPrefs.getString(DisplaySettings.KEY_MDNIE_MODE, "0"));
}
public boolean onPreferenceChange(Preference preference, Object newValue) {
Utils.writeValue(FILE, (String) newValue);
return true;
}
}

@ -0,0 +1,61 @@
/*
* 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 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;
public class mDNIeNegative extends ListPreference implements OnPreferenceChangeListener {
private static String FILE = null;
public mDNIeNegative(Context context, AttributeSet attrs) {
super(context, attrs);
this.setOnPreferenceChangeListener(this);
FILE = context.getResources().getString(R.string.mdnie_negative_sysfs_file);
}
public static boolean isSupported(String filePath) {
return Utils.fileExists(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)) {
return;
}
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
Utils.writeValue(FILE, sharedPrefs.getString(DisplaySettings.KEY_MDNIE_NEGATIVE, "0"));
}
public boolean onPreferenceChange(Preference preference, Object newValue) {
Utils.writeValue(FILE, (String) newValue);
return true;
}
}

@ -0,0 +1,61 @@
/*
* 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.SharedPreferences;
import android.util.AttributeSet;
import android.preference.Preference;
import android.preference.ListPreference;
import android.preference.Preference.OnPreferenceChangeListener;
import android.preference.PreferenceManager;
public class mDNIeScenario extends ListPreference implements OnPreferenceChangeListener {
private static String FILE = null;
public mDNIeScenario(Context context, AttributeSet attrs) {
super(context,attrs);
this.setOnPreferenceChangeListener(this);
FILE = context.getResources().getString(R.string.mdnie_scenario_sysfs_file);
}
public static boolean isSupported(String filePath) {
return Utils.fileExists(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)) {
return;
}
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
Utils.writeValue(FILE, sharedPrefs.getString(DisplaySettings.KEY_MDNIE_SCENARIO, "0"));
}
public boolean onPreferenceChange(Preference preference, Object newValue) {
Utils.writeValue(FILE, (String) newValue);
return true;
}
}
Loading…
Cancel
Save