Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6fa6ff69 authored by Pragnya Paramita's avatar Pragnya Paramita Committed by Marcos Marado
Browse files

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
parent e37cfee3
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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>
+23 −2
Original line number Diff line number Diff line
@@ -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;
                            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) {
                if (isCustomTitle) {
                    entry.title = ((LauncherApplication) mContext)
                        .getStkAppName();
                } else {
                    entry.title = info.getLabel();
                }
                entry.contentDescription = mUserManager.getBadgedLabelForUser(entry.title, user);
            }
        }
+31 −0
Original line number Diff line number Diff line
@@ -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);