summaryrefslogtreecommitdiffstats
path: root/src/org/codeaurora/gallery3d/video/SettingsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/codeaurora/gallery3d/video/SettingsActivity.java')
-rwxr-xr-xsrc/org/codeaurora/gallery3d/video/SettingsActivity.java271
1 files changed, 165 insertions, 106 deletions
diff --git a/src/org/codeaurora/gallery3d/video/SettingsActivity.java b/src/org/codeaurora/gallery3d/video/SettingsActivity.java
index 450f10d7c..200c48813 100755
--- a/src/org/codeaurora/gallery3d/video/SettingsActivity.java
+++ b/src/org/codeaurora/gallery3d/video/SettingsActivity.java
@@ -3,6 +3,7 @@ package org.codeaurora.gallery3d.video;
import android.app.ActionBar;
import android.app.Activity;
import android.content.ContentResolver;
+import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
@@ -18,6 +19,7 @@ import android.preference.PreferenceCategory;
import android.preference.RingtonePreference;
import android.preference.PreferenceScreen;
import android.provider.ContactsContract;
+import android.provider.Settings.System;
import android.provider.Telephony;
import android.telephony.TelephonyManager;
import android.text.method.DigitsKeyListener;
@@ -30,26 +32,38 @@ import java.util.ArrayList;
public class SettingsActivity extends PreferenceActivity {
- public static final String PREFERENCE_RTP_MINPORT = "rtp_min_port";
- public static final String PREFERENCE_RTP_MAXPORT = "rtp_max_port";
- public static final String PREFERENCE_RTCP_MINPORT = "rtcp_min_port";
- public static final String PREFERENCE_RTCP_MAXPORT = "rtcp_max_port";
- public static final String PREFERENCE_BUFFER_SIZE = "buffer_size";
- public static final String PREFERENCE_APN = "apn";
+ private static final String LOG_TAG = "SettingsActivity";
+ public static final String PREFERENCE_RTP_MINPORT = "rtp_min_port";
+ public static final String PREFERENCE_RTP_MAXPORT = "rtp_max_port";
+ private static final String PREFERENCE_KEEP_ALIVE_INTERVAL_SECOND = "keep_alive_interval_second";
+ private static final String PREFERENCE_CACHE_MIN_SIZE = "cache_min_size";
+ private static final String PREFERENCE_CACHE_MAX_SIZE = "cache_max_size";
+ public static final String PREFERENCE_BUFFER_SIZE = "buffer_size";
+ public static final String PREFERENCE_APN = "apn";
+ private static final String PACKAGE_NAME = "com.android.settings";
+
+ private static final int DEFAULT_RTP_MINPORT = 8192;
+ private static final int DEFAULT_RTP_MAXPORT = 65535;
+ private static final int DEFAULT_CACHE_MIN_SIZE = 4 * 1024 * 1024;
+ private static final int DEFAULT_CACHE_MAX_SIZE = 20 * 1024 * 1024;
+ private static final int DEFAULT_KEEP_ALIVE_INTERVAL_SECOND = 15;
+
+ private static final int RTP_MIN_PORT = 1;
+ private static final int RTP_MAX_PORT = 2;
+ private static final int BUFFER_SIZE = 3;
+
+ private SharedPreferences mPref;
private EditTextPreference mRtpMinPort;
private EditTextPreference mRtpMaxPort;
- private EditTextPreference mRtcpMinPort;
- private EditTextPreference mRtcpMaxPort;
private EditTextPreference mBufferSize;
- private PreferenceScreen mApn;
- private CheckBoxPreference mRepeat;
-
- private static final int SELECT_APN = 1;
- public static final String PREFERRED_APN_URI = "content://telephony/carriers/preferapn";
- private static final Uri PREFERAPN_URI = Uri.parse(PREFERRED_APN_URI);
- private static final int ID_INDEX = 0;
- private static final int NAME_INDEX = 1;
+ private PreferenceScreen mApn;
+
+ private static final int SELECT_APN = 1;
+ public static final String PREFERRED_APN_URI = "content://telephony/carriers/preferapn";
+ private static final Uri PREFERAPN_URI = Uri.parse(PREFERRED_APN_URI);
+ private static final int COLUMN_ID_INDEX = 0;
+ private static final int NAME_INDEX = 1;
private boolean mUseNvOperatorForEhrpd = SystemProperties.getBoolean(
"persist.radio.use_nv_for_ehrpd", false);
@@ -59,111 +73,43 @@ public class SettingsActivity extends PreferenceActivity {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.rtsp_settings_preferences);
- SharedPreferences mPref;
mPref = getPreferenceScreen().getSharedPreferences();
- String rtpMinport = mPref.getString(PREFERENCE_RTP_MINPORT, "8192");
- String rtpMaxport = mPref.getString(PREFERENCE_RTP_MAXPORT, "65535");
- String rtcpMinport = mPref.getString(PREFERENCE_RTCP_MAXPORT, null);
- String rtcpMaxport = mPref.getString(PREFERENCE_RTCP_MAXPORT, null);
- String bufferSize = mPref.getString(PREFERENCE_BUFFER_SIZE, null);
-
mRtpMinPort = (EditTextPreference) findPreference(PREFERENCE_RTP_MINPORT);
- mRtpMinPort.getEditText().setKeyListener(DigitsKeyListener.getInstance("0123456789"));
- mRtpMinPort.setSummary(rtpMinport);
- mRtpMinPort.setText(rtpMinport);
- mRtpMinPort.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- final String summary = newValue.toString();
- mRtpMinPort.setSummary(summary);
- Log.d("rtsp", "z66 summary = " + summary);
- android.provider.Settings.System.putString(getContentResolver(),
- "streaming_min_udp_port", summary);
- return true;
- }
- });
-
mRtpMaxPort = (EditTextPreference) findPreference(PREFERENCE_RTP_MAXPORT);
- mRtpMaxPort.getEditText().setKeyListener(DigitsKeyListener.getInstance("0123456789"));
- mRtpMaxPort.setSummary(rtpMaxport);
- mRtpMaxPort.setText(rtpMaxport);
- mRtpMaxPort.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- final String summary = newValue.toString();
- mRtpMaxPort.setSummary(summary);
- Log.w("rtsp", "z82 summary = " + summary);
- android.provider.Settings.System.putString(getContentResolver(),
- "streaming_max_udp_port", summary);
- return true;
- }
- });
- mRtcpMinPort = (EditTextPreference) findPreference(PREFERENCE_RTCP_MINPORT);
- mRtcpMinPort.getEditText().setKeyListener(DigitsKeyListener.getInstance("0123456789"));
- mRtcpMinPort.setSummary(rtcpMinport);
- mRtcpMinPort.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- final String summary = newValue.toString();
- mRtcpMinPort.setSummary(summary);
- return true;
- }
- });
- mRtcpMaxPort = (EditTextPreference) findPreference(PREFERENCE_RTCP_MAXPORT);
- mRtcpMaxPort.getEditText().setKeyListener(DigitsKeyListener.getInstance("0123456789"));
- mRtcpMaxPort.setSummary(rtcpMaxport);
- mRtcpMaxPort.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- final String summary = newValue.toString();
- mRtcpMaxPort.setSummary(summary);
- return true;
- }
- });
-
mBufferSize = (EditTextPreference) findPreference(PREFERENCE_BUFFER_SIZE);
- mBufferSize.getEditText().setKeyListener(DigitsKeyListener.getInstance("0123456789"));
- mBufferSize.setSummary(bufferSize);
- mBufferSize.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- final String summary = newValue.toString();
- mBufferSize.setSummary(summary);
- return true;
- }
- });
-
mApn = (PreferenceScreen) findPreference(PREFERENCE_APN);
- mApn.setSummary(getDefaultApnName());
- mApn.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
- public boolean onPreferenceClick(Preference preference) {
- Intent intent = new Intent();
- intent.setClassName("com.android.settings", "com.android.settings.ApnSettings");
- startActivityForResult(intent, SELECT_APN);
- return true;
- }
- });
+
+ setPreferenceListener(RTP_MIN_PORT, mRtpMinPort);
+ setPreferenceListener(RTP_MAX_PORT, mRtpMaxPort);
+ setPreferenceListener(BUFFER_SIZE, mBufferSize);
+ setApnListener();
ActionBar ab = getActionBar();
ab.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
ab.setDisplayHomeAsUpEnabled(true);
ab.setTitle(R.string.setting);
}
-
- private String getDefaultApnName() {
-
+
+ private String getApnKey() {
// to find default key
String key = null;
- String name = null;
Cursor cursor = getContentResolver().query(PREFERAPN_URI, new String[] {
"_id"
}, null, null, Telephony.Carriers.DEFAULT_SORT_ORDER);
- if (cursor.getCount() > 0) {
- cursor.moveToFirst();
- key = cursor.getString(ID_INDEX);
+ if (cursor.getCount() > 0 && cursor.moveToFirst()) {
+ key = cursor.getString(COLUMN_ID_INDEX);
Log.v("settingActivty", "default apn key = " + key);
}
cursor.close();
-
+ return key;
+ }
+
+ private String getApnName(String key) {
+ String name = null;
// to find default proxy
String where = getOperatorNumericSelection();
- cursor = getContentResolver().query(Telephony.Carriers.CONTENT_URI, new String[] {
+ Cursor cursor = getContentResolver().query(Telephony.Carriers.CONTENT_URI, new String[] {
"_id", "name", "apn", "type"
}, where, null, Telephony.Carriers.DEFAULT_SORT_ORDER);
@@ -181,7 +127,11 @@ public class SettingsActivity extends PreferenceActivity {
cursor.close();
}
return name;
+
+ }
+ private String getDefaultApnName() {
+ return getApnName(getApnKey());
}
private String getSelectedApnKey() {
@@ -204,13 +154,12 @@ public class SettingsActivity extends PreferenceActivity {
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
- switch (requestCode) {
- case SELECT_APN:
- setResult(resultCode);
- finish();
- Log.w("rtsp", "onActivityResult requestCode = " + requestCode);
- break;
+ if (requestCode == SELECT_APN) {
+ setResult(resultCode);
+ finish();
+ Log.w(LOG_TAG, "onActivityResult requestCode = " + requestCode);
}
+
}
@Override
@@ -227,7 +176,7 @@ public class SettingsActivity extends PreferenceActivity {
String where;
where = (mccmncs[0] != null) ? "numeric=\"" + mccmncs[0] + "\"" : "";
where += (mccmncs[1] != null) ? " or numeric=\"" + mccmncs[1] + "\"" : "";
- Log.d("SettingsActivity", "getOperatorNumericSelection: " + where);
+ Log.d(LOG_TAG, "getOperatorNumericSelection: " + where);
return where;
}
@@ -248,4 +197,114 @@ public class SettingsActivity extends PreferenceActivity {
}
return result.toArray(new String[2]);
}
+
+ private void enableRtpPortSetting() {
+ final String rtpMinPortStr = mPref.getString(PREFERENCE_RTP_MINPORT,
+ Integer.toString(DEFAULT_RTP_MINPORT));
+ final String rtpMaxPortStr = mPref.getString(PREFERENCE_RTP_MAXPORT,
+ Integer.toString(DEFAULT_RTP_MAXPORT));
+ final String CLASS_NAME = "com.android.settings.StreamingSettingsEnablerActivity";
+ final int rtpMinPort;
+ final int rtpMaxPort;
+ try {
+ rtpMinPort = Integer.valueOf(rtpMinPortStr);
+ rtpMaxPort = Integer.valueOf(rtpMaxPortStr);
+ } catch (NumberFormatException e) {
+ Log.e(LOG_TAG, "Failed to parse rtp ports");
+ return;
+ }
+ Intent intent = new Intent();
+ intent.setClassName(PACKAGE_NAME, CLASS_NAME);
+ intent.putExtra(PREFERENCE_RTP_MINPORT, rtpMinPort);
+ intent.putExtra(PREFERENCE_RTP_MAXPORT, rtpMaxPort);
+ startActivity(intent);
+ }
+
+ private void enableBufferSetting() {
+ final String bufferSizeStr = mPref.getString(PREFERENCE_BUFFER_SIZE,
+ Integer.toString(DEFAULT_CACHE_MAX_SIZE));
+ final String CLASS_NAME = "com.android.settings.StreamingSettingsEnablerActivity";
+ final int cacheMaxSize;
+ try {
+ cacheMaxSize = Integer.valueOf(bufferSizeStr);
+ } catch (NumberFormatException e) {
+ Log.e(LOG_TAG, "Failed to parse cache max size");
+ return;
+ }
+ Intent intent = new Intent();
+ intent.setClassName(PACKAGE_NAME, CLASS_NAME);
+ intent.putExtra(PREFERENCE_CACHE_MIN_SIZE, DEFAULT_CACHE_MIN_SIZE);
+ intent.putExtra(PREFERENCE_CACHE_MAX_SIZE, cacheMaxSize);
+ intent.putExtra(PREFERENCE_KEEP_ALIVE_INTERVAL_SECOND, DEFAULT_KEEP_ALIVE_INTERVAL_SECOND);
+ startActivity(intent);
+ }
+
+ private void setPreferenceListener(final int which, final EditTextPreference etp) {
+
+ final String DIGITS_ACCEPTABLE = "0123456789";
+ String summaryStr = "";
+ String preferStr = "";
+
+ switch (which) {
+ case RTP_MIN_PORT:
+ preferStr = mPref.getString(PREFERENCE_RTP_MINPORT,
+ Integer.toString(DEFAULT_RTP_MINPORT));
+ summaryStr = "streaming_min_udp_port";
+ break;
+ case RTP_MAX_PORT:
+ preferStr = mPref.getString(PREFERENCE_RTP_MAXPORT,
+ Integer.toString(DEFAULT_RTP_MAXPORT));
+ summaryStr = "streaming_max_udp_port";
+ break;
+ case BUFFER_SIZE:
+ preferStr = mPref.getString(PREFERENCE_BUFFER_SIZE,
+ Integer.toString(DEFAULT_CACHE_MAX_SIZE));
+ break;
+ default:
+ return;
+
+ }
+
+ final String summaryString = summaryStr;
+ etp.getEditText().setKeyListener(DigitsKeyListener.getInstance(DIGITS_ACCEPTABLE));
+ etp.setSummary(preferStr);
+ etp.setText(preferStr);
+ etp.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ final String summary = newValue.toString();
+ final int value;
+ try {
+ value = Integer.valueOf(summary);
+ } catch (NumberFormatException e) {
+ Log.e(LOG_TAG, "NumberFormatException");
+ return false;
+ }
+ etp.setSummary(summary);
+ etp.setText(summary);
+ Log.d(LOG_TAG, "z66/z82 summary = " + summary);
+ if(which == RTP_MIN_PORT || which == RTP_MAX_PORT) {
+ System.putString(getContentResolver(), summaryString, summary);
+ enableRtpPortSetting();
+ } else {
+ enableBufferSetting();
+ }
+ return true;
+ }
+ });
+
+ }
+
+ private void setApnListener() {
+ final String CLASS_NAME = "com.android.settings.ApnSettings";
+ mApn.setSummary(getDefaultApnName());
+ mApn.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
+ public boolean onPreferenceClick(Preference preference) {
+ Intent intent = new Intent();
+ intent.setClassName(PACKAGE_NAME, CLASS_NAME);
+ startActivityForResult(intent, SELECT_APN);
+ return true;
+ }
+ });
+ }
+
}