summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPragnya Paramita <prgnya@codeaurora.org>2015-03-23 15:52:44 +0530
committerMarcos Marado <mmarado@cyngn.com>2016-09-13 16:18:04 +0100
commit6fa6ff6929948a1b522f93aac2af226555a98e3e (patch)
tree40a02e207baae7a6d5a023843840f47758b0ac7e
parente37cfee308b31fb46978af61c60edd23501dc24b (diff)
downloadandroid_packages_apps_Trebuchet-6fa6ff6929948a1b522f93aac2af226555a98e3e.tar.gz
android_packages_apps_Trebuchet-6fa6ff6929948a1b522f93aac2af226555a98e3e.tar.bz2
android_packages_apps_Trebuchet-6fa6ff6929948a1b522f93aac2af226555a98e3e.zip
Trebuchet: STK app rename customization for latam region.
App name is read from SIM in STK app and sent via a broadcast. Name is operator specific. Launcher receives the broadcast, read the name and renames the STK app in all apps screen and workspace. Change-Id: If64b278360a0b8433e23e6678f04cdf30fe2cef1 CRs-Fixed: 797995 Issue: FEIJAO-815
-rw-r--r--res/values/config.xml1
-rw-r--r--src/com/android/launcher3/IconCache.java25
-rw-r--r--src/com/android/launcher3/LauncherApplication.java31
3 files changed, 55 insertions, 2 deletions
diff --git a/res/values/config.xml b/res/values/config.xml
index 4d3f01111..8fdd38283 100644
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -7,6 +7,7 @@
<bool name="config_largeHeap">false</bool>
<bool name="is_tablet">false</bool>
<bool name="is_large_tablet">false</bool>
+ <bool name="config_launcher_stkAppRename">false</bool>
<!-- Max number of page indicators to show -->
<integer name="config_maxNumberOfPageIndicatorsToShow">21</integer>
diff --git a/src/com/android/launcher3/IconCache.java b/src/com/android/launcher3/IconCache.java
index ca5545df0..cecfb6dd3 100644
--- a/src/com/android/launcher3/IconCache.java
+++ b/src/com/android/launcher3/IconCache.java
@@ -66,6 +66,7 @@ import java.util.Stack;
public class IconCache {
private static final String TAG = "Launcher.IconCache";
+ private final String STK_PACKAGE_NAME = "com.android.stk";
private static final int INITIAL_ICON_CACHE_CAPACITY = 50;
@@ -567,6 +568,16 @@ public class IconCache {
UserHandleCompat user, boolean usePackageIcon, boolean useLowResIcon) {
ComponentKey cacheKey = new ComponentKey(componentName, user);
CacheEntry entry = mCache.get(cacheKey);
+ boolean condition = (mContext.getResources().
+ getBoolean(R.bool.config_launcher_stkAppRename))
+ && info.getComponentName().getPackageName().toString()
+ .equalsIgnoreCase(STK_PACKAGE_NAME);
+ boolean isCustomTitle = false;
+ if (condition
+ && !TextUtils.isEmpty(((LauncherApplication) mContext)
+ .getStkAppName())) {
+ isCustomTitle = true;
+ }
if (entry == null || (entry.isLowResIcon && !useLowResIcon)) {
entry = new CacheEntry();
mCache.put(cacheKey, entry);
@@ -583,7 +594,12 @@ public class IconCache {
if (DEBUG) Log.d(TAG, "using package default icon for " +
componentName.toShortString());
entry.icon = packageEntry.icon;
- entry.title = packageEntry.title;
+ if (isCustomTitle) {
+ entry.title = ((LauncherApplication) mContext)
+ .getStkAppName();
+ } else {
+ entry.title = packageEntry.title;
+ }
entry.contentDescription = packageEntry.contentDescription;
}
}
@@ -596,7 +612,12 @@ public class IconCache {
}
if (TextUtils.isEmpty(entry.title) && info != null) {
- entry.title = info.getLabel();
+ if (isCustomTitle) {
+ entry.title = ((LauncherApplication) mContext)
+ .getStkAppName();
+ } else {
+ entry.title = info.getLabel();
+ }
entry.contentDescription = mUserManager.getBadgedLabelForUser(entry.title, user);
}
}
diff --git a/src/com/android/launcher3/LauncherApplication.java b/src/com/android/launcher3/LauncherApplication.java
index 896963e6d..a750fc270 100644
--- a/src/com/android/launcher3/LauncherApplication.java
+++ b/src/com/android/launcher3/LauncherApplication.java
@@ -17,6 +17,10 @@
package com.android.launcher3;
import android.app.Application;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
import com.android.launcher3.stats.LauncherStats;
import com.android.launcher3.stats.internal.service.AggregationIntentService;
@@ -26,6 +30,11 @@ import com.cyanogen.ambient.common.api.AmbientApiClient;
public class LauncherApplication extends Application {
+ private String mStkAppName = new String();
+ private final String STK_PACKAGE_INTENT_ACTION_NAME =
+ "org.codeaurora.carrier.ACTION_TELEPHONY_SEND_STK_TITLE";
+ private final String STK_APP_NAME = "StkTitle";
+
private static LauncherStats sLauncherStats = null;
private AmbientApiClient mClient;
@@ -45,10 +54,32 @@ public class LauncherApplication extends Application {
.addApi(AnalyticsServices.API)
.build();
mClient.connect();
+ if (getResources().getBoolean(R.bool.config_launcher_stkAppRename)) {
+ registerAppNameChangeReceiver();
+ }
sLauncherStats = LauncherStats.getInstance(this);
AggregationIntentService.scheduleService(this);
}
+ private void registerAppNameChangeReceiver() {
+ IntentFilter intentFilter = new IntentFilter(STK_PACKAGE_INTENT_ACTION_NAME);
+ registerReceiver(appNameChangeReceiver, intentFilter);
+ }
+
+ /**
+ * Receiver for STK Name change broadcast
+ */
+ private BroadcastReceiver appNameChangeReceiver = new BroadcastReceiver() {
+ @Override
+ public void onReceive(Context context, Intent intent) {
+ mStkAppName = intent.getStringExtra(STK_APP_NAME);
+ }
+ };
+
+ public String getStkAppName(){
+ return mStkAppName;
+ }
+
public void sendEvent(Event event) {
if (mClient.isConnected()) {
AnalyticsServices.AnalyticsApi.sendEvent(mClient, event);