auto import from //branches/cupcake_rel/...@138607
diff --git a/res/layout-land/choose_lock_pattern.xml b/res/layout-land/choose_lock_pattern.xml
index 1502301..9d623f6 100644
--- a/res/layout-land/choose_lock_pattern.xml
+++ b/res/layout-land/choose_lock_pattern.xml
@@ -43,29 +43,35 @@
android:layout_height="0dip"
android:layout_weight="1.0">
- <!-- left button: skip, or re-try -->
- <Button android:id="@+id/footerLeftButton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignParentBottom="true"
- android:text="@string/lockpattern_restart_button_text"/>
-
- <!-- right button: confirm or ok -->
+ <!-- right / bottom button: confirm or ok -->
<Button android:id="@+id/footerRightButton"
- android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_alignParentRight="true"
+ android:layout_width="140dip"
android:layout_alignParentBottom="true"
+ android:layout_centerHorizontal="true"
+ android:ellipsize="marquee"
+ android:singleLine="true"
android:drawableRight="@drawable/ic_btn_next"
android:drawablePadding="3dip"
android:text="@string/lockpattern_confirm_button_text"/>
+
+ <!-- left / top button: skip, or re-try -->
+ <Button android:id="@+id/footerLeftButton"
+ android:layout_height="wrap_content"
+ android:layout_width="140dip"
+ android:layout_above="@id/footerRightButton"
+ android:layout_centerHorizontal="true"
+ android:ellipsize="marquee"
+ android:singleLine="true"
+ android:text="@string/lockpattern_restart_button_text"/>
+
+
<!-- message above buttons -->
<TextView android:id="@+id/footerText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_above="@+id/footerRightButton"
+ android:layout_above="@+id/footerLeftButton"
android:layout_centerHorizontal="true"
android:layout_marginBottom="4dip"
android:textSize="14sp"/>
diff --git a/res/layout/choose_lock_pattern.xml b/res/layout/choose_lock_pattern.xml
index 110b9ad..b4472ba 100644
--- a/res/layout/choose_lock_pattern.xml
+++ b/res/layout/choose_lock_pattern.xml
@@ -56,8 +56,9 @@
<!-- left button: skip, or retry -->
<Button android:id="@+id/footerLeftButton"
android:layout_height="wrap_content"
- android:layout_width="0dip"
- android:layout_weight="1"
+ android:layout_width="140dip"
+ android:ellipsize="marquee"
+ android:singleLine="true"
android:text="@string/lockpattern_restart_button_text"/>
<!-- Placeholder to get blank space between the two buttons -->
@@ -70,8 +71,9 @@
<!-- right button: confirm or ok -->
<Button android:id="@+id/footerRightButton"
android:layout_height="wrap_content"
- android:layout_width="0dip"
- android:layout_weight="1"
+ android:layout_width="140dip"
+ android:ellipsize="marquee"
+ android:singleLine="true"
android:drawableRight="@drawable/ic_btn_next"
android:drawablePadding="3dip"
android:text="@string/lockpattern_confirm_button_text"/>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 5aca72a..de79429 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -417,8 +417,6 @@
<string name="status_wifi_mac_address">"Adresa MAC sítě WiFi"</string>
<string name="status_bt_address">"Adresa zařízení Bluetooth"</string>
<string name="status_unavailable">"Nedostupný údaj"</string>
- <string name="status_network_traffic_stats">"Využití sítě"</string>
- <string name="status_network_traffic_summary">"Odesláno: <xliff:g id="NETWORK_TRAFFIC_0">%1$d packets, %2$d bytes%n</xliff:g>Přijato: <xliff:g id="NETWORK_TRAFFIC_1">%3$d packets, %4$d bytes</xliff:g>"</string>
<string name="status_up_time">"Doba provozu"</string>
<string name="status_awake_time">"Doba provozu"</string>
<string name="internal_memory">"Interní paměť telefonu"</string>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 68790d5..60deacd 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -417,8 +417,6 @@
<string name="status_wifi_mac_address">"WLAN-MAC-Adresse"</string>
<string name="status_bt_address">"Bluetooth-Adresse"</string>
<string name="status_unavailable">"Nicht verfügbar"</string>
- <string name="status_network_traffic_stats">"Netzwerknutzung"</string>
- <string name="status_network_traffic_summary">"Gesendet: \n<xliff:g id="NETWORK_TRAFFIC_0">%1$d packets, %2$d bytes%n</xliff:g>Erhalt: <xliff:g id="NETWORK_TRAFFIC_1">%3$d packets, %4$d bytes</xliff:g>"</string>
<string name="status_up_time">"Betriebszeit"</string>
<string name="status_awake_time">"Aktivzeit"</string>
<string name="internal_memory">"Interner Telefonspeicher"</string>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index e22ee4b..eb4c8b1 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -416,8 +416,6 @@
<string name="status_wifi_mac_address">"Dirección MAC de la red Wi-Fi"</string>
<string name="status_bt_address">"Dirección de Bluetooth"</string>
<string name="status_unavailable">"No disponible"</string>
- <string name="status_network_traffic_stats">"Uso de red"</string>
- <string name="status_network_traffic_summary">"Enviado: <xliff:g id="NETWORK_TRAFFIC_0">%1$d packets, %2$d bytes%n</xliff:g>Recibido: <xliff:g id="NETWORK_TRAFFIC_1">%3$d packets, %4$d bytes</xliff:g>"</string>
<string name="status_up_time">"Tiempo de actividad"</string>
<string name="status_awake_time">"Tiempo de actividad"</string>
<string name="internal_memory">"Almacenamiento interno del teléfono"</string>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 7d8e534..3feed96 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -416,8 +416,6 @@
<string name="status_wifi_mac_address">"Adresse MAC Wi-Fi"</string>
<string name="status_bt_address">"Adresse Bluetooth"</string>
<string name="status_unavailable">"Non disponible"</string>
- <string name="status_network_traffic_stats">"Utilisation du réseau"</string>
- <string name="status_network_traffic_summary">"Envoyés : <xliff:g id="NETWORK_TRAFFIC_0">%1$d packets, %2$d bytes%n</xliff:g> Reçus : <xliff:g id="NETWORK_TRAFFIC_1">%3$d packets, %4$d bytes</xliff:g>"</string>
<string name="status_up_time">"Durée d\'activité"</string>
<string name="status_awake_time">"Temps en activité"</string>
<string name="internal_memory">"Mémoire interne du téléphone"</string>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 24efd38..6e10e36 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -416,8 +416,6 @@
<string name="status_wifi_mac_address">"Indirizzo MAC Wi-Fi"</string>
<string name="status_bt_address">"Indirizzo Bluetooth"</string>
<string name="status_unavailable">"Non disponibile"</string>
- <string name="status_network_traffic_stats">"Utilizzo della rete"</string>
- <string name="status_network_traffic_summary">"Inviati: <xliff:g id="NETWORK_TRAFFIC_0">%1$d packets, %2$d bytes%n</xliff:g>Ricevuti: <xliff:g id="NETWORK_TRAFFIC_1">%3$d packets, %4$d bytes</xliff:g>"</string>
<string name="status_up_time">"Tempo di attività"</string>
<string name="status_awake_time">"Tempo di attività"</string>
<string name="internal_memory">"Archiviazione interna telefono"</string>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index f1c2414..b887234 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -417,8 +417,6 @@
<string name="status_wifi_mac_address">"Wi-Fi MACアドレス"</string>
<string name="status_bt_address">"Bluetoothアドレス"</string>
<string name="status_unavailable">"不明"</string>
- <string name="status_network_traffic_stats">"ネットワーク使用状況"</string>
- <string name="status_network_traffic_summary">"送信: <xliff:g id="NETWORK_TRAFFIC_0">%1$d packets, %2$d bytes%n</xliff:g>受信: <xliff:g id="NETWORK_TRAFFIC_1">%3$d packets, %4$d bytes</xliff:g>"</string>
<string name="status_up_time">"稼働時間"</string>
<string name="status_awake_time">"端末使用時間"</string>
<string name="internal_memory">"端末内部メモリ"</string>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 7d7590f..f5d680f 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -417,8 +417,6 @@
<string name="status_wifi_mac_address">"Wi-Fi MAC 주소"</string>
<string name="status_bt_address">"Bluetooth 주소"</string>
<string name="status_unavailable">"사용할 수 없음"</string>
- <string name="status_network_traffic_stats">"네트워크 사용량"</string>
- <string name="status_network_traffic_summary">"전송: <xliff:g id="NETWORK_TRAFFIC_0">%1$d packets, %2$d bytes%n</xliff:g> 수신:<xliff:g id="NETWORK_TRAFFIC_1">%3$d packets, %4$d bytes</xliff:g>"</string>
<string name="status_up_time">"가동 시간"</string>
<string name="status_awake_time">"무중단 가동 시간"</string>
<string name="internal_memory">"전화기 내부 저장공간"</string>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index f111758..f9f01a6 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -416,8 +416,6 @@
<string name="status_wifi_mac_address">"MAC-adresse for WLAN"</string>
<string name="status_bt_address">"Bluetooth-adresse"</string>
<string name="status_unavailable">"Ikke tilgjengelig"</string>
- <string name="status_network_traffic_stats">"Nettverksbruk"</string>
- <string name="status_network_traffic_summary">"Sendt: <xliff:g id="NETWORK_TRAFFIC_0">%1$d packets, %2$d bytes%n</xliff:g>Mottatt: <xliff:g id="NETWORK_TRAFFIC_1">%3$d packets, %4$d bytes</xliff:g>"</string>
<string name="status_up_time">"Oppetid"</string>
<string name="status_awake_time">"Våken tid"</string>
<string name="internal_memory">"Intern lagringsplass"</string>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 6f30611..4f1c6f9 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -417,8 +417,6 @@
<string name="status_wifi_mac_address">"Wi-Fi MAC-adres"</string>
<string name="status_bt_address">"Bluetooth-adres"</string>
<string name="status_unavailable">"Niet beschikbaar"</string>
- <string name="status_network_traffic_stats">"Netwerkgebruik"</string>
- <string name="status_network_traffic_summary">"Verzonden: <xliff:g id="NETWORK_TRAFFIC_0">%1$d packets, %2$d bytes%n</xliff:g>Ontvangen: <xliff:g id="NETWORK_TRAFFIC_1">%3$d packets, %4$d bytes</xliff:g>"</string>
<string name="status_up_time">"Bedrijfstijd"</string>
<string name="status_awake_time">"Stand-bytijd"</string>
<string name="internal_memory">"Intern telefoongeheugen"</string>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 51ce9cb..c6e7b07 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -417,8 +417,6 @@
<string name="status_wifi_mac_address">"Adres MAC karty Wi-Fi"</string>
<string name="status_bt_address">"Adres Bluetooth"</string>
<string name="status_unavailable">"Niedostępny"</string>
- <string name="status_network_traffic_stats">"Wykorzystanie sieci"</string>
- <string name="status_network_traffic_summary">"Wysłane: <xliff:g id="NETWORK_TRAFFIC_0">%1$d packets, %2$d bytes%n</xliff:g>Odebrane: <xliff:g id="NETWORK_TRAFFIC_1">%3$d packets, %4$d bytes</xliff:g>"</string>
<string name="status_up_time">"Czas działania"</string>
<string name="status_awake_time">"Czas działania (włączony)"</string>
<string name="internal_memory">"Pamięć wewnętrzna telefonu"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 0a80622..fa835ab 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -417,8 +417,6 @@
<string name="status_wifi_mac_address">"MAC-адрес Wi-Fi"</string>
<string name="status_bt_address">"Адрес Bluetooth"</string>
<string name="status_unavailable">"Недоступно"</string>
- <string name="status_network_traffic_stats">"Использование сети"</string>
- <string name="status_network_traffic_summary">"Отправлено: <xliff:g id="NETWORK_TRAFFIC_0">%1$d packets, %2$d bytes%n</xliff:g>Принято: <xliff:g id="NETWORK_TRAFFIC_1">%3$d packets, %4$d bytes</xliff:g>"</string>
<string name="status_up_time">"Время работы"</string>
<string name="status_awake_time">"Время активности"</string>
<string name="internal_memory">"Хранение в памяти телефона"</string>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 45148de..4ad3d9e 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -417,8 +417,6 @@
<string name="status_wifi_mac_address">"Wi-Fi MAC 地址"</string>
<string name="status_bt_address">"蓝牙地址"</string>
<string name="status_unavailable">"不可用"</string>
- <string name="status_network_traffic_stats">"网络使用"</string>
- <string name="status_network_traffic_summary">"发送:<xliff:g id="NETWORK_TRAFFIC_0">%1$d packets, %2$d bytes%n</xliff:g> 接收:<xliff:g id="NETWORK_TRAFFIC_1">%3$d packets, %4$d bytes</xliff:g>"</string>
<string name="status_up_time">"正常使用时间"</string>
<string name="status_awake_time">"唤醒时间"</string>
<string name="internal_memory">"手机内部存储"</string>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index c34d6a5..a076eb8 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -417,8 +417,6 @@
<string name="status_wifi_mac_address">"Wi-Fi MAC 位址"</string>
<string name="status_bt_address">"藍牙位址"</string>
<string name="status_unavailable">"無法取得"</string>
- <string name="status_network_traffic_stats">"網路使用率"</string>
- <string name="status_network_traffic_summary">"已傳送:<xliff:g id="NETWORK_TRAFFIC_0">%1$d packets, %2$d bytes%n</xliff:g>已接收:<xliff:g id="NETWORK_TRAFFIC_1">%3$d packets, %4$d bytes</xliff:g>"</string>
<string name="status_up_time">"開機時間"</string>
<string name="status_awake_time">"清醒時間"</string>
<string name="internal_memory">"手機內部記憶體"</string>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 24dda75..356dbef 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -812,9 +812,9 @@
<!-- Sound & display settings screen, animations check box label -->
<string name="animations_title">Animation</string>
<!-- Sound & display settings screen, animations option summary text when check box is selected -->
- <string name="animations_summary_on">Show animation when opening & closing windows</string>
+ <string name="animations_summary_on">Show screen transition animations</string>
<!-- Sound & display settings screen, animations option summary text when check box is clear -->
- <string name="animations_summary_off">Show animation when opening & closing windows</string>
+ <string name="animations_summary_off">Show screen transition animations</string>
<!-- Sound & display settings screen, accelerometer-based rotation check box label -->
<string name="accelerometer_title">Orientation</string>
<!-- Sound & display settings screen, accelerometer-based rotation summary text when check box is selected -->
@@ -927,10 +927,6 @@
<string name="status_bt_address">Bluetooth address</string>
<!-- About phone, status item value if the actual value is not available. -->
<string name="status_unavailable">Unavailable</string>
- <!-- About phone, status item title. How many packets and bytes have been sent and received across all network interfaces. -->
- <string name="status_network_traffic_stats">Network usage</string>
- <!-- About phone, status item summary. How many packets and bytes have been sent and received across all network interfaces. -->
- <string name="status_network_traffic_summary">Sent: <xliff:g id="network_traffic">%1$d packets, %2$d bytes%n</xliff:g>Rcvd: <xliff:g id="network_traffic">%3$d packets, %4$d bytes</xliff:g></string>
<!-- About phone, status item title. How long the device has been running since its last reboot. -->
<string name="status_up_time">Up time</string>
<!-- About phone, status item title. How much time the device has had its main CPU awake. -->
diff --git a/res/xml/device_info_status.xml b/res/xml/device_info_status.xml
index 9537795..4934817 100644
--- a/res/xml/device_info_status.xml
+++ b/res/xml/device_info_status.xml
@@ -82,11 +82,6 @@
android:title="@string/status_bt_address"
android:summary="@string/device_info_not_available"
android:persistent="false" />
- <Preference android:key="network_traffic_stats"
- style="?android:attr/preferenceInformationStyle"
- android:title="@string/status_network_traffic_stats"
- android:summary="@string/device_info_not_available"
- android:persistent="false" />
<Preference android:key="up_time"
style="?android:attr/preferenceInformationStyle"
android:title="@string/status_up_time"
diff --git a/src/com/android/settings/ChooseLockPattern.java b/src/com/android/settings/ChooseLockPattern.java
index 47fc07f..3ddd669 100644
--- a/src/com/android/settings/ChooseLockPattern.java
+++ b/src/com/android/settings/ChooseLockPattern.java
@@ -481,15 +481,8 @@
}
private void saveChosenPatternAndFinish() {
- boolean patternExistedBefore = mLockPatternUtils.savedPatternExists();
mLockPatternUtils.saveLockPattern(mChosenPattern);
-
- // if setting pattern for first time, enable the lock gesture. otherwise,
- // keep the user's setting.
- if (!patternExistedBefore) {
- mLockPatternUtils.setLockPatternEnabled(true);
- mLockPatternUtils.setVisiblePatternEnabled(true);
- }
+ mLockPatternUtils.setLockPatternEnabled(true);
setResult(RESULT_FINISHED);
finish();
diff --git a/src/com/android/settings/ChooseLockPatternTutorial.java b/src/com/android/settings/ChooseLockPatternTutorial.java
index a0a878a..6e92ca8 100644
--- a/src/com/android/settings/ChooseLockPatternTutorial.java
+++ b/src/com/android/settings/ChooseLockPatternTutorial.java
@@ -34,7 +34,7 @@
super.onCreate(savedInstanceState);
// Don't show the tutorial if the user has seen it before.
LockPatternUtils lockPatternUtils = new LockPatternUtils(getContentResolver());
- if (savedInstanceState == null && lockPatternUtils.savedPatternExists()) {
+ if (savedInstanceState == null && lockPatternUtils.isPatternEverChosen()) {
Intent intent = new Intent();
intent.setClassName("com.android.settings", "com.android.settings.ChooseLockPattern");
startActivity(intent);
diff --git a/src/com/android/settings/DateTimeSettings.java b/src/com/android/settings/DateTimeSettings.java
index e78215a..1b9fecb 100644
--- a/src/com/android/settings/DateTimeSettings.java
+++ b/src/com/android/settings/DateTimeSettings.java
@@ -171,7 +171,10 @@
SystemClock.setCurrentTimeMillis(when);
}
updateTimeAndDateDisplay();
- timeUpdated();
+
+ // We don't need to call timeUpdated() here because the TIME_CHANGED
+ // broadcast is sent by the AlarmManager as a side effect of setting the
+ // SystemClock time.
}
public void onSharedPreferenceChanged(SharedPreferences preferences, String key) {
diff --git a/src/com/android/settings/LauncherAppWidgetBinder.java b/src/com/android/settings/LauncherAppWidgetBinder.java
index 5cd3a11..98ea246 100644
--- a/src/com/android/settings/LauncherAppWidgetBinder.java
+++ b/src/com/android/settings/LauncherAppWidgetBinder.java
@@ -53,7 +53,7 @@
static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/" + TABLE_FAVORITES);
static final String ITEM_TYPE = "itemType";
- static final String APPWIDGET_ID = "gadgetId";
+ static final String APPWIDGET_ID = "appWidgetId";
static final String ICON = "icon";
static final int ITEM_TYPE_APPWIDGET = 4;
diff --git a/src/com/android/settings/ManageApplications.java b/src/com/android/settings/ManageApplications.java
index 74957ed..7402727 100644
--- a/src/com/android/settings/ManageApplications.java
+++ b/src/com/android/settings/ManageApplications.java
@@ -248,6 +248,38 @@
switch (msg.what) {
case INIT_PKG_INFO:
if(localLOGV) Log.i(TAG, "Message INIT_PKG_INFO");
+ if (!mJustCreated) {
+ // Add or delete newly created packages by comparing lists
+ List<ApplicationInfo> newList = getInstalledApps(FILTER_APPS_ALL);
+ int oldCount = mAppPropCache.size();
+ boolean idxArr[] = new boolean[oldCount];
+ for ( int i = 0; i < oldCount; i++) {
+ idxArr[i] = false;
+ }
+
+ if (newList != null) {
+ for (ApplicationInfo app : newList) {
+ AppInfo aInfo = mAppPropCache.get(app.packageName);
+ if ( aInfo == null) {
+ // New package. post an ADD_PKG message
+ if(localLOGV) Log.i(TAG, "Adding pkg: "+app.packageName);
+ updatePackageList(Intent.ACTION_PACKAGE_ADDED, app.packageName);
+ } else {
+ idxArr[aInfo.index] = true;
+ }
+ }
+ Set<String> keyList = mAppPropCache.keySet();
+ for (String key : keyList) {
+ AppInfo aInfo = mAppPropCache.get(key);
+ int idx = aInfo.index;
+ if (!idxArr[idx]) {
+ String pkg = aInfo.pkgName;
+ if(localLOGV) Log.i(TAG, "Deleting pkg: " + pkg);
+ updatePackageList(Intent.ACTION_PACKAGE_REMOVED, pkg);
+ }
+ }
+ }
+ }
// Retrieve the package list and init some structures
initAppList(mFilterApps);
mHandler.sendEmptyMessage(NEXT_LOAD_STEP);
@@ -499,12 +531,18 @@
// some initialization code used when kicking off the size computation
private void initAppList(int filterOption) {
+ // Initialize lists
+ List<ApplicationInfo> appList = getInstalledApps(filterOption);
+ initAppList(appList, filterOption);
+ }
+
+ // some initialization code used when kicking off the size computation
+ private void initAppList(List<ApplicationInfo> appList, int filterOption) {
setProgressBarIndeterminateVisibility(true);
mComputeIndex = 0;
mComputeSizes = false;
mLoadLabels = false;
// Initialize lists
- List<ApplicationInfo> appList = getInstalledApps(filterOption);
mAddRemoveMap = new TreeMap<String, Boolean>();
mAppInfoAdapter.resetAppList(filterOption, appList);
}
@@ -860,11 +898,18 @@
}
return mSizeComparator;
}
-
- public void updateAppsResourceInfo(Map<String, AppInfo> iconMap) {
+
+ /*
+ * This method updates resource information in the package map.
+ *
+ * @param iconMap a map of package names and attributes
+ * @return A boolean value to indicate if the property map has to be
+ * refreshed completely
+ */
+ public boolean updateAppsResourceInfo(Map<String, AppInfo> iconMap) {
if(iconMap == null) {
Log.w(TAG, "Null iconMap when refreshing icon in List Adapter");
- return;
+ return true;
}
boolean changed = false;
for (ApplicationInfo info : mAppLocalList) {
@@ -874,7 +919,7 @@
if (aInfo != null) {
aInfo.refreshIcon(pInfo);
} else {
- mAppPropMap.put(info.packageName, pInfo);
+ return false;
}
changed = true;
}
@@ -882,14 +927,56 @@
if(changed) {
notifyDataSetChanged();
}
+ return true;
}
+ private boolean shouldBeInList(int filterOption, ApplicationInfo info) {
+ // Match filter here
+ boolean addToCurrList = false;
+ if (filterOption == FILTER_APPS_RUNNING) {
+ List<ApplicationInfo> runningList = getInstalledApps(FILTER_APPS_RUNNING);
+ for (ApplicationInfo running : runningList) {
+ if (running.packageName.equalsIgnoreCase(info.packageName)) {
+ addToCurrList = true;
+ break;
+ }
+ }
+ } else if (filterOption == FILTER_APPS_THIRD_PARTY) {
+ if ((info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
+ addToCurrList = true;
+ } else if ((info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
+ addToCurrList = true;
+ }
+ } else {
+ return true;
+ }
+ return addToCurrList;
+ }
+
+ /*
+ * Add a package to the current list.
+ * The package is only added to the displayed list
+ * based on the filter value. The package is always added to the property map.
+ * @param pkgName name of package to be added
+ * @param ps PackageStats of new package
+ */
public void addToList(String pkgName, PackageStats ps) {
if(pkgName == null) {
Log.w(TAG, "Adding null pkg to List Adapter");
return;
}
- ApplicationInfo info;
+ boolean notInList = true;
+ int newIdx = getIndex(pkgName);
+ if (newIdx != -1) {
+ notInList = false;
+ if (mAppPropMap.get(pkgName) != null) {
+ // weird. just ignore entry
+ Log.i(TAG, "Package:"+pkgName+" already added");
+ return;
+ }
+ }
+ // Get ApplicationInfo
+ ApplicationInfo info = null;
try {
info = mPm.getApplicationInfo(pkgName, 0);
} catch (NameNotFoundException e) {
@@ -901,21 +988,26 @@
Log.i(TAG, "Null ApplicationInfo for package:"+pkgName);
return;
}
- // Binary search returns a negative index (ie --index) of the position where
- // this might be inserted.
- int newIdx = Collections.binarySearch(mAppLocalList, info,
- getAppComparator(mSortOrder));
- if(newIdx >= 0) {
- Log.i(TAG, "Strange. Package:"+pkgName+" is not new");
- return;
- }
- // New entry
- newIdx = -newIdx-1;
- mAppLocalList.add(newIdx, info);
- mAppPropMap.put(info.packageName, new AppInfo(pkgName, newIdx,
+ // Add entry to map
+ mAppPropMap.put(pkgName, new AppInfo(pkgName, newIdx,
info.loadLabel(mPm), info.loadIcon(mPm), ps));
- adjustIndex();
- notifyDataSetChanged();
+ // Add to list
+ if (notInList && (shouldBeInList(mFilterApps, info))) {
+ // Binary search returns a negative index (ie -index) of the position where
+ // this might be inserted.
+ newIdx = Collections.binarySearch(mAppLocalList, info,
+ getAppComparator(mSortOrder));
+ if(newIdx >= 0) {
+ Log.i(TAG, "Strange. Package:"+pkgName+" is not new");
+ return;
+ }
+ // New entry
+ newIdx = -newIdx-1;
+ mAppLocalList.add(newIdx, info);
+ // Adjust index
+ adjustIndex();
+ notifyDataSetChanged();
+ }
}
public void removeFromList(List<String> pkgNames) {
@@ -1134,7 +1226,6 @@
List<ApplicationInfo> appList = getInstalledApps(mSortOrder);
mAppInfoAdapter = new AppInfoAdapter(this, appList);
ListView lv= (ListView) findViewById(android.R.id.list);
- //lv.setAdapter(mAppInfoAdapter);
lv.setOnItemClickListener(this);
lv.setSaveEnabled(true);
lv.setItemsCanFocus(true);
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index cd26492..867bce3 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -45,8 +45,7 @@
private static final String KEY_LOCK_ENABLED = "lockenabled";
private static final String KEY_VISIBLE_PATTERN = "visiblepattern";
private static final String KEY_TACTILE_FEEDBACK_ENABLED = "tactilefeedback";
- private static final int CONFIRM_PATTERN_THEN_DISABLE_REQUEST_CODE = 55;
- private static final int CONFIRM_PATTERN_THEN_ENABLE_REQUEST_CODE = 56;
+ private static final int CONFIRM_PATTERN_THEN_DISABLE_AND_CLEAR_REQUEST_CODE = 55;
private LockPatternUtils mLockPatternUtils;
private CheckBoxPreference mLockEnabled;
@@ -64,7 +63,7 @@
private CheckBoxPreference mNetwork;
private CheckBoxPreference mGps;
private LocationManager mLocationManager;
-
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -257,36 +256,26 @@
@Override
protected void onClick() {
- if (mLockPatternUtils.savedPatternExists()) {
- if (isChecked()) {
- confirmPatternThenDisable();
- } else {
- confirmPatternThenEnable();
- }
+ if (mLockPatternUtils.savedPatternExists() && isChecked()) {
+ confirmPatternThenDisableAndClear();
} else {
super.onClick();
}
}
}
- private void confirmPatternThenEnable() {
- final Intent intent = new Intent();
- intent.setClassName("com.android.settings", "com.android.settings.ConfirmLockPattern");
- startActivityForResult(intent, CONFIRM_PATTERN_THEN_ENABLE_REQUEST_CODE);
- }
-
/**
* Launch screen to confirm the existing lock pattern.
* @see #onActivityResult(int, int, android.content.Intent)
*/
- private void confirmPatternThenDisable() {
+ private void confirmPatternThenDisableAndClear() {
final Intent intent = new Intent();
intent.setClassName("com.android.settings", "com.android.settings.ConfirmLockPattern");
- startActivityForResult(intent, CONFIRM_PATTERN_THEN_DISABLE_REQUEST_CODE);
+ startActivityForResult(intent, CONFIRM_PATTERN_THEN_DISABLE_AND_CLEAR_REQUEST_CODE);
}
/**
- * @see #confirmPatternThenDisable
+ * @see #confirmPatternThenDisableAndClear
*/
@Override
protected void onActivityResult(int requestCode, int resultCode,
@@ -295,10 +284,9 @@
final boolean resultOk = resultCode == Activity.RESULT_OK;
- if ((requestCode == CONFIRM_PATTERN_THEN_DISABLE_REQUEST_CODE) && resultOk) {
+ if ((requestCode == CONFIRM_PATTERN_THEN_DISABLE_AND_CLEAR_REQUEST_CODE) && resultOk) {
mLockPatternUtils.setLockPatternEnabled(false);
- } else if ((requestCode == CONFIRM_PATTERN_THEN_ENABLE_REQUEST_CODE) && resultOk) {
- mLockPatternUtils.setLockPatternEnabled(true);
+ mLockPatternUtils.saveLockPattern(null);
}
}
}
diff --git a/src/com/android/settings/SoundAndDisplaySettings.java b/src/com/android/settings/SoundAndDisplaySettings.java
index 2a4e133..8905b85 100644
--- a/src/com/android/settings/SoundAndDisplaySettings.java
+++ b/src/com/android/settings/SoundAndDisplaySettings.java
@@ -168,7 +168,9 @@
} catch (RemoteException e) {
}
if (mAnimationScales != null) {
- for (int i=0; i<mAnimationScales.length; i++) {
+ // We will leave the window animations alone (always set),
+ // and only use this to change the transition animations.
+ for (int i=1; i<mAnimationScales.length; i++) {
if (mAnimationScales[i] == 0) {
animations = false;
break;
@@ -224,7 +226,11 @@
mSoundEffects.isChecked() ? 1 : 0);
} else if (preference == mAnimations) {
- for (int i=0; i<mAnimationScales.length; i++) {
+ if (mAnimationScales.length > 0) {
+ // Window animations are always on.
+ mAnimationScales[0] = 1;
+ }
+ for (int i=1; i<mAnimationScales.length; i++) {
mAnimationScales[i] = mAnimations.isChecked() ? 1 : 0;
}
try {
diff --git a/src/com/android/settings/bluetooth/BluetoothPinDialog.java b/src/com/android/settings/bluetooth/BluetoothPinDialog.java
index 5e289f7..087fbb2 100644
--- a/src/com/android/settings/bluetooth/BluetoothPinDialog.java
+++ b/src/com/android/settings/bluetooth/BluetoothPinDialog.java
@@ -46,6 +46,7 @@
TextWatcher {
private static final String TAG = "BluetoothPinDialog";
+ private final int BLUETOOTH_PIN_MAX_LENGTH = 16;
private LocalBluetoothManager mLocalManager;
private String mAddress;
private EditText mPinView;
@@ -138,8 +139,8 @@
mPinView = (EditText) view.findViewById(R.id.text);
mPinView.addTextChangedListener(this);
- // Maximum of 10 characters in a PIN
- mPinView.setFilters(new InputFilter[] { new LengthFilter(10) });
+ // Maximum of 16 characters in a PIN
+ mPinView.setFilters(new InputFilter[] { new LengthFilter(BLUETOOTH_PIN_MAX_LENGTH) });
return view;
}
diff --git a/src/com/android/settings/deviceinfo/Status.java b/src/com/android/settings/deviceinfo/Status.java
index 4132ed5..96366b8 100644
--- a/src/com/android/settings/deviceinfo/Status.java
+++ b/src/com/android/settings/deviceinfo/Status.java
@@ -30,7 +30,6 @@
import android.os.Message;
import android.os.SystemClock;
import android.os.SystemProperties;
-import android.os.NetStat;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.telephony.PhoneStateListener;
@@ -64,7 +63,6 @@
private static final String KEY_WIFI_MAC_ADDRESS = "wifi_mac_address";
private static final String KEY_BT_ADDRESS = "bt_address";
- private static final String KEY_NETWORK_TRAFFIC_STATS = "network_traffic_stats";
private static final int EVENT_SIGNAL_STRENGTH_CHANGED = 200;
private static final int EVENT_SERVICE_STATE_CHANGED = 300;
@@ -111,7 +109,6 @@
case EVENT_UPDATE_STATS:
status.updateTimes();
- status.setNetworkTrafficStats();
sendEmptyMessageDelayed(EVENT_UPDATE_STATS, 1000);
break;
}
@@ -350,17 +347,6 @@
}
}
- private void setNetworkTrafficStats() {
- long txPkts = NetStat.getTotalTxPkts();
- long txBytes = NetStat.getTotalTxBytes();
- long rxPkts = NetStat.getTotalRxPkts();
- long rxBytes = NetStat.getTotalRxBytes();
-
- Preference netStatsPref = findPreference(KEY_NETWORK_TRAFFIC_STATS);
- netStatsPref.setSummary(getString(R.string.status_network_traffic_summary,
- txPkts, txBytes, rxPkts, rxBytes));
- }
-
void updateTimes() {
long at = SystemClock.uptimeMillis() / 1000;
long ut = SystemClock.elapsedRealtime() / 1000;
diff --git a/src/com/android/settings/wifi/AccessPointState.java b/src/com/android/settings/wifi/AccessPointState.java
index c224954..2569802 100644
--- a/src/com/android/settings/wifi/AccessPointState.java
+++ b/src/com/android/settings/wifi/AccessPointState.java
@@ -47,24 +47,7 @@
private static final String ADHOC_CAPABILITY = "[IBSS]";
/** String present in capabilities if the scan result is enterprise secured */
private static final String ENTERPRISE_CAPABILITY = "-EAP-";
-
- // Localized strings for different security types
- private static String LOCALIZED_WPA2;
- private static String LOCALIZED_WPA;
- private static String LOCALIZED_WEP;
- private static String LOCALIZED_OPEN;
- private static String LOCALIZED_UNKNOWN;
- private static String LOCALIZED_VERBOSE_WPA2;
- private static String LOCALIZED_VERBOSE_WPA;
- private static String LOCALIZED_VERBOSE_WEP;
- private static String LOCALIZED_VERBOSE_OPEN;
-
- // Localized strings for various messages
- private static String SUMMARY_NOT_IN_RANGE;
- private static String SUMMARY_REMEMBERED;
- private static String SUMMARY_CONNECTION_FAILED;
-
public static final String BSSID_ANY = "any";
public static final int NETWORK_ID_NOT_SET = -1;
/** This should be used with care! */
@@ -147,31 +130,8 @@
void setContext(Context context) {
mContext = context;
- setStrings();
}
- private void setStrings() {
- final Context c = mContext;
-
- if (SUMMARY_NOT_IN_RANGE == null && c != null) {
- SUMMARY_NOT_IN_RANGE = c.getString(R.string.summary_not_in_range);
- SUMMARY_REMEMBERED = c.getString(R.string.summary_remembered);
- SUMMARY_CONNECTION_FAILED = c.getString(R.string.summary_connection_failed);
-
- LOCALIZED_OPEN = c.getString(R.string.wifi_security_open);
- LOCALIZED_WEP = c.getString(R.string.wifi_security_wep);
- LOCALIZED_WPA = c.getString(R.string.wifi_security_wpa);
- LOCALIZED_WPA2 = c.getString(R.string.wifi_security_wpa2);
-
- LOCALIZED_VERBOSE_OPEN = c.getString(R.string.wifi_security_verbose_open);
- LOCALIZED_VERBOSE_WEP = c.getString(R.string.wifi_security_verbose_wep);
- LOCALIZED_VERBOSE_WPA = c.getString(R.string.wifi_security_verbose_wpa);
- LOCALIZED_VERBOSE_WPA2 = c.getString(R.string.wifi_security_verbose_wpa2);
-
- LOCALIZED_UNKNOWN = c.getString(R.string.wifi_security_unknown);
- }
- }
-
public void setNetworkId(int networkId) {
this.networkId = networkId;
}
@@ -311,12 +271,12 @@
}
public String getHumanReadableSecurity() {
- if (security.equals(OPEN)) return LOCALIZED_OPEN;
- else if (security.equals(WEP)) return LOCALIZED_WEP;
- else if (security.equals(WPA)) return LOCALIZED_WPA;
- else if (security.equals(WPA2)) return LOCALIZED_WPA2;
+ if (security.equals(OPEN)) return mContext.getString(R.string.wifi_security_open);
+ else if (security.equals(WEP)) return mContext.getString(R.string.wifi_security_wep);
+ else if (security.equals(WPA)) return mContext.getString(R.string.wifi_security_wpa);
+ else if (security.equals(WPA2)) return mContext.getString(R.string.wifi_security_wpa2);
- return LOCALIZED_UNKNOWN;
+ return mContext.getString(R.string.wifi_security_unknown);
}
public void updateFromScanResult(ScanResult scanResult) {
@@ -719,22 +679,22 @@
buildSummary(sb, WifiStatus.getPrintable(mContext, status), true);
} else if (!seen) {
- buildSummary(sb, SUMMARY_NOT_IN_RANGE, true);
+ buildSummary(sb, mContext.getString(R.string.summary_not_in_range), true);
// Remembered comes second in this case
if (!primary && configured) {
- buildSummary(sb, SUMMARY_REMEMBERED, true);
+ buildSummary(sb, mContext.getString(R.string.summary_remembered), true);
}
} else {
if (configured && disabled) {
// The connection failure overrides all in this case
- return SUMMARY_CONNECTION_FAILED;
+ return mContext.getString(R.string.summary_connection_failed);
}
// Remembered comes first in this case
if (!primary && configured) {
- buildSummary(sb, SUMMARY_REMEMBERED, true);
+ buildSummary(sb, mContext.getString(R.string.summary_remembered), true);
}
// If it is seen (and not the primary), show the security type
@@ -749,13 +709,13 @@
private String getVerboseSecurity() {
if (WEP.equals(security)) {
- return LOCALIZED_VERBOSE_WEP;
+ return mContext.getString(R.string.wifi_security_verbose_wep);
} else if (WPA.equals(security)) {
- return LOCALIZED_VERBOSE_WPA;
+ return mContext.getString(R.string.wifi_security_verbose_wpa);
} else if (WPA2.equals(security)) {
- return LOCALIZED_VERBOSE_WPA2;
+ return mContext.getString(R.string.wifi_security_verbose_wpa2);
} else if (OPEN.equals(security)) {
- return LOCALIZED_VERBOSE_OPEN;
+ return mContext.getString(R.string.wifi_security_verbose_open);
} else {
return null;
}
diff --git a/src/com/android/settings/wifi/WifiStatus.java b/src/com/android/settings/wifi/WifiStatus.java
index d4b6431..e10ab8d 100644
--- a/src/com/android/settings/wifi/WifiStatus.java
+++ b/src/com/android/settings/wifi/WifiStatus.java
@@ -20,51 +20,9 @@
import android.content.Context;
import android.net.NetworkInfo;
-import android.net.wifi.WifiInfo;
import android.text.TextUtils;
public class WifiStatus {
-
- // e.g., "Connecting"
- public static String sScanning;
- public static String sConnecting;
- public static String sAuthenticating;
- public static String sObtainingIp;
- public static String sConnected;
- public static String sDisconnecting;
- public static String sDisconnected;
- public static String sFailed;
-
- // e.g., "Connecting to %1$s"
- public static String sScanningFragment;
- public static String sConnectingFragment;
- public static String sAuthenticatingFragment;
- public static String sObtainingIpFragment;
- public static String sConnectedFragment;
- public static String sDisconnectingFragment;
- public static String sDisconnectedFragment;
- public static String sFailedFragment;
-
- private static void fillStrings(Context context) {
- sScanning = context.getString(R.string.status_scanning);
- sConnecting = context.getString(R.string.status_connecting);
- sAuthenticating = context.getString(R.string.status_authenticating);
- sObtainingIp = context.getString(R.string.status_obtaining_ip);
- sConnected = context.getString(R.string.status_connected);
- sDisconnecting = context.getString(R.string.status_disconnecting);
- sDisconnected = context.getString(R.string.status_disconnected);
- sFailed = context.getString(R.string.status_failed);
-
- sScanningFragment = context.getString(R.string.fragment_status_scanning);
- sConnectingFragment = context.getString(R.string.fragment_status_connecting);
- sAuthenticatingFragment = context.getString(R.string.fragment_status_authenticating);
- sObtainingIpFragment = context.getString(R.string.fragment_status_obtaining_ip);
- sConnectedFragment = context.getString(R.string.fragment_status_connected);
- sDisconnectingFragment = context.getString(R.string.fragment_status_disconnecting);
- sDisconnectedFragment = context.getString(R.string.fragment_status_disconnected);
- sFailedFragment = context.getString(R.string.fragment_status_failed);
- }
-
public static String getStatus(Context context, String ssid,
NetworkInfo.DetailedState detailedState) {
@@ -85,27 +43,23 @@
public static String getPrintable(Context context,
NetworkInfo.DetailedState detailedState) {
- if (sScanning == null) {
- fillStrings(context);
- }
-
switch (detailedState) {
case AUTHENTICATING:
- return sAuthenticating;
+ return context.getString(R.string.status_authenticating);
case CONNECTED:
- return sConnected;
+ return context.getString(R.string.status_connected);
case CONNECTING:
- return sConnecting;
+ return context.getString(R.string.status_connecting);
case DISCONNECTED:
- return sDisconnected;
+ return context.getString(R.string.status_disconnected);
case DISCONNECTING:
- return sDisconnecting;
+ return context.getString(R.string.status_disconnecting);
case FAILED:
- return sFailed;
+ return context.getString(R.string.status_failed);
case OBTAINING_IPADDR:
- return sObtainingIp;
+ return context.getString(R.string.status_obtaining_ip);
case SCANNING:
- return sScanning;
+ return context.getString(R.string.status_scanning);
default:
return null;
}
@@ -114,35 +68,31 @@
public static String getPrintableFragment(Context context,
NetworkInfo.DetailedState detailedState, String apName) {
- if (sScanningFragment == null) {
- fillStrings(context);
- }
-
String fragment = null;
switch (detailedState) {
case AUTHENTICATING:
- fragment = sAuthenticatingFragment;
+ fragment = context.getString(R.string.fragment_status_authenticating);
break;
case CONNECTED:
- fragment = sConnectedFragment;
+ fragment = context.getString(R.string.fragment_status_connected);
break;
case CONNECTING:
- fragment = sConnectingFragment;
+ fragment = context.getString(R.string.fragment_status_connecting);
break;
case DISCONNECTED:
- fragment = sDisconnectedFragment;
+ fragment = context.getString(R.string.fragment_status_disconnected);
break;
case DISCONNECTING:
- fragment = sDisconnectingFragment;
+ fragment = context.getString(R.string.fragment_status_disconnecting);
break;
case FAILED:
- fragment = sFailedFragment;
+ fragment = context.getString(R.string.fragment_status_failed);
break;
case OBTAINING_IPADDR:
- fragment = sObtainingIpFragment;
+ fragment = context.getString(R.string.fragment_status_obtaining_ip);
break;
case SCANNING:
- fragment = sScanningFragment;
+ fragment = context.getString(R.string.fragment_status_scanning);
break;
}