summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Hillenbrand <codeworkx@cyanogenmod.com>2012-08-05 14:59:20 -0700
committerDaniel Hillenbrand <codeworkx@cyanogenmod.com>2012-08-05 14:59:20 -0700
commit7c5fcce1d30fc820f37c01da178fd2f3e6ec21f2 (patch)
tree662895eb6b0658a89b0f67ecaec8af91c4de659c
parent00ff66859747f8dde61d3471571dfa51fc04e0b3 (diff)
parent5e824f740ab85f54e1896de710203497ee30de12 (diff)
downloaddevice_samsung_i9100-7c5fcce1d30fc820f37c01da178fd2f3e6ec21f2.zip
device_samsung_i9100-7c5fcce1d30fc820f37c01da178fd2f3e6ec21f2.tar.gz
device_samsung_i9100-7c5fcce1d30fc820f37c01da178fd2f3e6ec21f2.tar.bz2
Merge pull request #1 from StevenHarperUK/jellybean
Add Dock USB Audio Support for Samsung Car / Desk Docks 2 of 2
-rw-r--r--DeviceSettings/res/values/strings.xml5
-rw-r--r--DeviceSettings/res/xml/dock_preferences.xml13
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java3
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/DockFragmentActivity.java75
-rw-r--r--DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java1
5 files changed, 97 insertions, 0 deletions
diff --git a/DeviceSettings/res/values/strings.xml b/DeviceSettings/res/values/strings.xml
index d3f0891..d7ad034 100644
--- a/DeviceSettings/res/values/strings.xml
+++ b/DeviceSettings/res/values/strings.xml
@@ -39,4 +39,9 @@
<string name="category_radio_title">Radio</string>
<string name="hspa_title_head">HSPA</string>
<string name="hspa_summary_head">Enable HSDPA/HSUPA</string>
+
+ <string name="category_dock_title">Dock</string>
+ <string name="dockaudio_subcat_title">DOCK AUDIO</string>
+ <string name="use_dock_audio_title_head">Use Dock USB Audio</string>
+ <string name="use_dock_audio_summary_head">Use the passive audio out on the dock</string>
</resources>
diff --git a/DeviceSettings/res/xml/dock_preferences.xml b/DeviceSettings/res/xml/dock_preferences.xml
new file mode 100644
index 0000000..5f5fdf4
--- /dev/null
+++ b/DeviceSettings/res/xml/dock_preferences.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+ <PreferenceCategory
+ android:title="@string/dockaudio_subcat_title">
+ <!-- Use Dock Audio -->
+ <CheckBoxPreference
+ android:key="dock_audio"
+ android:title="@string/use_dock_audio_title_head"
+ android:summary="@string/use_dock_audio_summary_head"
+ />
+ </PreferenceCategory>
+</PreferenceScreen>
+
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java b/DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java
index a60d9e8..e60cd0c 100644
--- a/DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/DeviceSettings.java
@@ -47,6 +47,7 @@ public class DeviceSettings extends FragmentActivity {
public static final String KEY_TOUCHKEY_LIGHT = "touchkey_light";
public static final String KEY_TOUCHKEY_TIMEOUT = "touchkey_timeout";
public static final String KEY_VIBRATOR_INTENSITY = "vibrator_intensity";
+ public static final String KEY_USE_DOCK_AUDIO = "dock_audio";
ViewPager mViewPager;
TabsAdapter mTabsAdapter;
@@ -73,6 +74,8 @@ public class DeviceSettings extends FragmentActivity {
SensorsFragmentActivity.class, null);
mTabsAdapter.addTab(bar.newTab().setText(R.string.category_haptic_title),
HapticFragmentActivity.class, null);
+ mTabsAdapter.addTab(bar.newTab().setText(R.string.category_dock_title),
+ DockFragmentActivity.class, null);
if (savedInstanceState != null) {
bar.setSelectedNavigationItem(savedInstanceState.getInt("tab", 0));
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/DockFragmentActivity.java b/DeviceSettings/src/com/cyanogenmod/settings/device/DockFragmentActivity.java
new file mode 100644
index 0000000..541d90b
--- /dev/null
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/DockFragmentActivity.java
@@ -0,0 +1,75 @@
+/*
+ * 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.ActivityManagerNative;
+import android.content.Context;
+import android.content.Intent;
+import android.content.SharedPreferences;
+import android.os.Bundle;
+import android.preference.CheckBoxPreference;
+import android.preference.Preference;
+import android.preference.PreferenceActivity;
+import android.preference.PreferenceFragment;
+import android.preference.PreferenceManager;
+import android.preference.PreferenceScreen;
+import android.util.Log;
+
+import com.cyanogenmod.settings.device.R;
+
+public class DockFragmentActivity extends PreferenceFragment {
+
+ private static final String PREF_ENABLED = "1";
+ private static final String TAG = "GalaxyS2Parts_General";
+
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+
+ addPreferencesFromResource(R.xml.dock_preferences);
+ PreferenceScreen prefSet = getPreferenceScreen();
+
+ }
+
+ @Override
+ public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
+
+ String boxValue;
+ String key = preference.getKey();
+
+ Log.w(TAG, "key: " + key);
+
+ if (key.compareTo(DeviceSettings.KEY_USE_DOCK_AUDIO) == 0) {
+ boxValue = (((CheckBoxPreference)preference).isChecked() ? "1" : "0");
+ Intent i = new Intent("com.cyanogenmod.settings.SamsungDock");
+ i.putExtra("data", boxValue);
+ ActivityManagerNative.broadcastStickyIntent(i, null);
+ }
+
+ return true;
+ }
+
+ public static void restore(Context context) {
+ SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
+ boolean dockAudio = sharedPrefs.getBoolean(DeviceSettings.KEY_USE_DOCK_AUDIO, false);
+ Intent i = new Intent("com.cyanogenmod.settings.SamsungDock");
+ i.putExtra("data", (dockAudio? "1" : "0"));
+ ActivityManagerNative.broadcastStickyIntent(i, null);
+
+ }
+
+}
diff --git a/DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java b/DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java
index cb3624a..a207ac8 100644
--- a/DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java
+++ b/DeviceSettings/src/com/cyanogenmod/settings/device/Startup.java
@@ -33,6 +33,7 @@ public class Startup extends BroadcastReceiver {
VibratorIntensity.restore(context);
SensorsFragmentActivity.restore(context);
TouchkeyTimeout.restore(context);
+ DockFragmentActivity.restore(context);
}
}