summaryrefslogtreecommitdiffstats
path: root/src/com/android/settings/SelectableEditTextPreference.java
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2012-09-23 12:54:14 -0700
committerAmith Yamasani <yamasani@google.com>2012-09-23 18:43:31 -0700
commit9627a8ea151c1f27e5e9f34592c7b34fea3101c3 (patch)
tree3c92cd339e0df9ae47ac4ab92964d9b5aab36c10 /src/com/android/settings/SelectableEditTextPreference.java
parentb105531116148d5d29e113e611ac180aa9691c6e (diff)
downloadpackages_apps_Settings-9627a8ea151c1f27e5e9f34592c7b34fea3101c3.zip
packages_apps_Settings-9627a8ea151c1f27e5e9f34592c7b34fea3101c3.tar.gz
packages_apps_Settings-9627a8ea151c1f27e5e9f34592c7b34fea3101c3.tar.bz2
Show more settings and add restrictions/dialogs for secondary users
Bug: 7213029 crash in About>Status Bug: 7212495 hide System updates for second user Bug: 7212230 nickname editor should select the text Bug: 7160487 TTS settings Bug: 7129411 Settings needs visibility changes for secondary users Change-Id: Ia2d1229c08b392edfa6b671fce4a382410405b14
Diffstat (limited to 'src/com/android/settings/SelectableEditTextPreference.java')
-rw-r--r--src/com/android/settings/SelectableEditTextPreference.java71
1 files changed, 71 insertions, 0 deletions
diff --git a/src/com/android/settings/SelectableEditTextPreference.java b/src/com/android/settings/SelectableEditTextPreference.java
new file mode 100644
index 0000000..503db13
--- /dev/null
+++ b/src/com/android/settings/SelectableEditTextPreference.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2012 The Android Open Source 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.android.settings;
+
+import android.content.Context;
+import android.preference.EditTextPreference;
+import android.preference.ListPreference;
+import android.text.TextUtils;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.EditText;
+
+public class SelectableEditTextPreference extends EditTextPreference {
+
+ private int mSelectionMode;
+
+ public static final int SELECTION_CURSOR_END = 0;
+ public static final int SELECTION_CURSOR_START = 1;
+ public static final int SELECTION_SELECT_ALL = 2;
+
+ public SelectableEditTextPreference(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ }
+
+ /**
+ * Sets the selection mode for the text when it shows up in the dialog
+ * @hide
+ * @param selectionMode can be SELECTION_CURSOR_START, SELECTION_CURSOR_END or
+ * SELECTION_SELECT_ALL. Default is SELECTION_CURSOR_END
+ */
+ public void setInitialSelectionMode(int selectionMode) {
+ mSelectionMode = selectionMode;
+ }
+
+ @Override
+ protected void onBindDialogView(View view) {
+ super.onBindDialogView(view);
+
+ EditText editText = getEditText();
+ // Set the selection based on the mSelectionMode
+ int length = editText.getText() != null ? editText.getText().length() : 0;
+ if (!TextUtils.isEmpty(editText.getText())) {
+ switch (mSelectionMode) {
+ case SELECTION_CURSOR_END:
+ editText.setSelection(length);
+ break;
+ case SELECTION_CURSOR_START:
+ editText.setSelection(0);
+ break;
+ case SELECTION_SELECT_ALL:
+ editText.setSelection(0, length);
+ break;
+ }
+ }
+ }
+}
+