Merge "Import translations. DO NOT MERGE" into jb-mr2-dev
diff --git a/res/layout/dream_info_row.xml b/res/layout/dream_info_row.xml
index acc3a65..e8dd824 100644
--- a/res/layout/dream_info_row.xml
+++ b/res/layout/dream_info_row.xml
@@ -24,6 +24,8 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_toStartOf="@+id/divider"
+ android:clickable="true"
+ android:focusable="true"
android:background="?android:attr/selectableItemBackground" >
<!-- Dream icon -->
@@ -95,6 +97,8 @@
android:background="?android:attr/selectableItemBackground"
android:contentDescription="@string/screensaver_settings_button"
android:padding="8dip"
+ android:clickable="true"
+ android:focusable="true"
android:src="@drawable/ic_bt_config" />
-</RelativeLayout>
\ No newline at end of file
+</RelativeLayout>
diff --git a/src/com/android/settings/DreamBackend.java b/src/com/android/settings/DreamBackend.java
index 70124ef..1522705 100644
--- a/src/com/android/settings/DreamBackend.java
+++ b/src/com/android/settings/DreamBackend.java
@@ -277,6 +277,9 @@
Log.w(TAG, "Error parsing : " + resolveInfo.serviceInfo.packageName, caughtException);
return null;
}
+ if (cn != null && cn.indexOf('/') < 0) {
+ cn = resolveInfo.serviceInfo.packageName + "/" + cn;
+ }
return cn == null ? null : ComponentName.unflattenFromString(cn);
}
diff --git a/src/com/android/settings/DreamSettings.java b/src/com/android/settings/DreamSettings.java
index 5c9f1cf..1c8f988 100644
--- a/src/com/android/settings/DreamSettings.java
+++ b/src/com/android/settings/DreamSettings.java
@@ -123,6 +123,8 @@
ListView listView = getListView();
+ listView.setItemsCanFocus(true);
+
TextView emptyView = (TextView) getView().findViewById(android.R.id.empty);
emptyView.setText(R.string.screensaver_settings_disabled_prompt);
listView.setEmptyView(emptyView);
@@ -318,6 +320,7 @@
settingsButton.setVisibility(showSettings ? View.VISIBLE : View.INVISIBLE);
settingsButton.setAlpha(dreamInfo.isActive ? 1f : Utils.DISABLED_ALPHA);
settingsButton.setEnabled(dreamInfo.isActive);
+ settingsButton.setFocusable(dreamInfo.isActive);
settingsButton.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
@@ -329,7 +332,8 @@
private View createDreamInfoRow(ViewGroup parent) {
final View row = mInflater.inflate(R.layout.dream_info_row, parent, false);
- row.setOnClickListener(new OnClickListener(){
+ final View header = row.findViewById(android.R.id.widget_frame);
+ header.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
v.setPressed(true);
diff --git a/src/com/android/settings/NotificationStation.java b/src/com/android/settings/NotificationStation.java
index b56fbd4..1242d85 100644
--- a/src/com/android/settings/NotificationStation.java
+++ b/src/com/android/settings/NotificationStation.java
@@ -160,35 +160,39 @@
public int priority;
public int user;
public long timestamp;
+ public boolean active;
}
private List<HistoricalNotificationInfo> loadNotifications() {
final int currentUserId = ActivityManager.getCurrentUser();
try {
- StatusBarNotification[] nions;
- nions = SHOW_HISTORICAL_NOTIFICATIONS
- ? mNoMan.getHistoricalNotifications(mContext.getPackageName(), 50)
- : mNoMan.getActiveNotifications(mContext.getPackageName());
+ StatusBarNotification[] active = mNoMan.getActiveNotifications(mContext.getPackageName());
+ StatusBarNotification[] dismissed = mNoMan.getHistoricalNotifications(mContext.getPackageName(), 50);
List<HistoricalNotificationInfo> list
- = new ArrayList<HistoricalNotificationInfo>(nions.length);
+ = new ArrayList<HistoricalNotificationInfo>(active.length + dismissed.length);
- for (StatusBarNotification sbn : nions) {
- final HistoricalNotificationInfo info = new HistoricalNotificationInfo();
- info.pkg = sbn.pkg;
- info.user = sbn.getUserId();
- info.icon = loadIconDrawable(info.pkg, info.user, sbn.notification.icon);
- info.pkgicon = loadPackageIconDrawable(info.pkg, info.user);
- if (sbn.notification.extras != null) {
- info.title = sbn.notification.extras.getString(Notification.EXTRA_TITLE);
- }
- info.timestamp = sbn.postTime;
- info.priority = sbn.notification.priority;
- logd(" [%d] %s: %s", info.timestamp, info.pkg, info.title);
+ for (StatusBarNotification[] resultset
+ : new StatusBarNotification[][] { active, dismissed }) {
+ for (StatusBarNotification sbn : resultset) {
+ final HistoricalNotificationInfo info = new HistoricalNotificationInfo();
+ info.pkg = sbn.pkg;
+ info.user = sbn.getUserId();
+ info.icon = loadIconDrawable(info.pkg, info.user, sbn.notification.icon);
+ info.pkgicon = loadPackageIconDrawable(info.pkg, info.user);
+ if (sbn.notification.extras != null) {
+ info.title = sbn.notification.extras.getString(Notification.EXTRA_TITLE);
+ }
+ info.timestamp = sbn.postTime;
+ info.priority = sbn.notification.priority;
+ logd(" [%d] %s: %s", info.timestamp, info.pkg, info.title);
- if (info.user == UserHandle.USER_ALL
- || info.user == currentUserId) {
- list.add(info);
+ info.active = (resultset == active);
+
+ if (info.user == UserHandle.USER_ALL
+ || info.user == currentUserId) {
+ list.add(info);
+ }
}
}
@@ -275,6 +279,8 @@
// bind caption
((TextView) row.findViewById(android.R.id.title)).setText(info.title);
+ row.setAlpha(info.active ? 1.0f : 0.5f);
+
// // bind radio button
// RadioButton radioButton = (RadioButton) row.findViewById(android.R.id.button1);
// radioButton.setChecked(dreamInfo.isActive);
diff --git a/src/com/android/settings/SoundSettings.java b/src/com/android/settings/SoundSettings.java
index 7e461711..931858c 100644
--- a/src/com/android/settings/SoundSettings.java
+++ b/src/com/android/settings/SoundSettings.java
@@ -78,7 +78,7 @@
private static final String[] NEED_VOICE_CAPABILITY = {
KEY_RINGTONE, KEY_DTMF_TONE, KEY_CATEGORY_CALLS,
- KEY_EMERGENCY_TONE
+ KEY_EMERGENCY_TONE, KEY_VIBRATE
};
private static final int MSG_UPDATE_RINGTONE_SUMMARY = 1;
@@ -175,9 +175,6 @@
removePreference(KEY_VIBRATE);
removePreference(KEY_HAPTIC_FEEDBACK);
}
- if (!Utils.isVoiceCapable(getActivity())) {
- removePreference(KEY_VIBRATE);
- }
if (TelephonyManager.PHONE_TYPE_CDMA == activePhoneType) {
ListPreference emergencyTonePreference =