summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPragnya Paramita <prgnya@codeaurora.org>2015-03-23 10:22:44 (GMT)
committerMichael Bestas <mikeioannina@gmail.com>2016-09-16 16:07:41 (GMT)
commit66c03a84a78dac8db026d1eee73c5210c3310620 (patch)
tree5573bcebffd257ad7fce7031441bf650f8e8ac03
parente646d5494e2bf14d9cab4363bbaeba49215ad34a (diff)
downloadandroid_packages_apps_Trebuchet-66c03a84a78dac8db026d1eee73c5210c3310620.zip
android_packages_apps_Trebuchet-66c03a84a78dac8db026d1eee73c5210c3310620.tar.gz
android_packages_apps_Trebuchet-66c03a84a78dac8db026d1eee73c5210c3310620.tar.bz2
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 4d3f011..8fdd382 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 ca5545d..cecfb6d 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 896963e..a750fc2 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);