Loading packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java +17 −11 Original line number Diff line number Diff line Loading @@ -31,15 +31,15 @@ import android.provider.Settings; import android.service.quicksettings.IQSTileService; import android.service.quicksettings.Tile; import android.service.quicksettings.TileService; import android.text.TextUtils; import android.text.format.DateUtils; import android.util.Log; import android.view.IWindowManager; import android.view.WindowManagerGlobal; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.systemui.Dependency; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile.State; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.external.TileLifecycleManager.TileChangeListener; Loading Loading @@ -68,9 +68,9 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener private final TileServiceManager mServiceManager; private final int mUser; private android.graphics.drawable.Icon mDefaultIcon; private CharSequence mDefaultLabel; private boolean mListening; private boolean mBound; private boolean mIsTokenGranted; private boolean mIsShowingDialog; Loading @@ -79,7 +79,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener mWindowManager = WindowManagerGlobal.getWindowManagerService(); mComponent = ComponentName.unflattenFromString(action); mTile = new Tile(); setTileIcon(); updateDefaultTileAndIcon(); mServiceManager = host.getTileServices().getTileWrapper(this); mService = mServiceManager.getTileService(); mServiceManager.setTileChangeListener(this); Loading @@ -91,13 +91,14 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener return CUSTOM_STALE_TIMEOUT + DateUtils.MINUTE_IN_MILLIS * mHost.indexOf(getTileSpec()); } private void setTileIcon() { private void updateDefaultTileAndIcon() { try { PackageManager pm = mContext.getPackageManager(); int flags = PackageManager.MATCH_DIRECT_BOOT_UNAWARE | PackageManager.MATCH_DIRECT_BOOT_AWARE; if (isSystemApp(pm)) { flags |= PackageManager.MATCH_DISABLED_COMPONENTS; } ServiceInfo info = pm.getServiceInfo(mComponent, flags); int icon = info.icon != 0 ? info.icon : info.applicationInfo.icon; Loading @@ -109,12 +110,16 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener if (updateIcon) { mTile.setIcon(mDefaultIcon); } // Update the label if there is no label. if (mTile.getLabel() == null) { mTile.setLabel(info.loadLabel(pm)); // Update the label if there is no label or it is the default label. boolean updateLabel = mTile.getLabel() == null || TextUtils.equals(mTile.getLabel(), mDefaultLabel); mDefaultLabel = info.loadLabel(pm); if (updateLabel) { mTile.setLabel(mDefaultLabel); } } catch (Exception e) { } catch (PackageManager.NameNotFoundException e) { mDefaultIcon = null; mDefaultLabel = null; } } Loading Loading @@ -148,7 +153,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener @Override public void onTileChanged(ComponentName tile) { setTileIcon(); updateDefaultTileAndIcon(); } @Override Loading @@ -170,6 +175,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener } public Tile getQsTile() { updateDefaultTileAndIcon(); return mTile; } Loading Loading @@ -199,7 +205,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener mListening = listening; try { if (listening) { setTileIcon(); updateDefaultTileAndIcon(); refreshState(); if (!mServiceManager.isActiveTile()) { mServiceManager.setBindRequested(true); Loading Loading
packages/SystemUI/src/com/android/systemui/qs/external/CustomTile.java +17 −11 Original line number Diff line number Diff line Loading @@ -31,15 +31,15 @@ import android.provider.Settings; import android.service.quicksettings.IQSTileService; import android.service.quicksettings.Tile; import android.service.quicksettings.TileService; import android.text.TextUtils; import android.text.format.DateUtils; import android.util.Log; import android.view.IWindowManager; import android.view.WindowManagerGlobal; import com.android.internal.logging.MetricsLogger; import com.android.internal.logging.nano.MetricsProto.MetricsEvent; import com.android.systemui.Dependency; import com.android.systemui.plugins.ActivityStarter; import com.android.systemui.plugins.qs.QSTile; import com.android.systemui.plugins.qs.QSTile.State; import com.android.systemui.qs.tileimpl.QSTileImpl; import com.android.systemui.qs.external.TileLifecycleManager.TileChangeListener; Loading Loading @@ -68,9 +68,9 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener private final TileServiceManager mServiceManager; private final int mUser; private android.graphics.drawable.Icon mDefaultIcon; private CharSequence mDefaultLabel; private boolean mListening; private boolean mBound; private boolean mIsTokenGranted; private boolean mIsShowingDialog; Loading @@ -79,7 +79,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener mWindowManager = WindowManagerGlobal.getWindowManagerService(); mComponent = ComponentName.unflattenFromString(action); mTile = new Tile(); setTileIcon(); updateDefaultTileAndIcon(); mServiceManager = host.getTileServices().getTileWrapper(this); mService = mServiceManager.getTileService(); mServiceManager.setTileChangeListener(this); Loading @@ -91,13 +91,14 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener return CUSTOM_STALE_TIMEOUT + DateUtils.MINUTE_IN_MILLIS * mHost.indexOf(getTileSpec()); } private void setTileIcon() { private void updateDefaultTileAndIcon() { try { PackageManager pm = mContext.getPackageManager(); int flags = PackageManager.MATCH_DIRECT_BOOT_UNAWARE | PackageManager.MATCH_DIRECT_BOOT_AWARE; if (isSystemApp(pm)) { flags |= PackageManager.MATCH_DISABLED_COMPONENTS; } ServiceInfo info = pm.getServiceInfo(mComponent, flags); int icon = info.icon != 0 ? info.icon : info.applicationInfo.icon; Loading @@ -109,12 +110,16 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener if (updateIcon) { mTile.setIcon(mDefaultIcon); } // Update the label if there is no label. if (mTile.getLabel() == null) { mTile.setLabel(info.loadLabel(pm)); // Update the label if there is no label or it is the default label. boolean updateLabel = mTile.getLabel() == null || TextUtils.equals(mTile.getLabel(), mDefaultLabel); mDefaultLabel = info.loadLabel(pm); if (updateLabel) { mTile.setLabel(mDefaultLabel); } } catch (Exception e) { } catch (PackageManager.NameNotFoundException e) { mDefaultIcon = null; mDefaultLabel = null; } } Loading Loading @@ -148,7 +153,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener @Override public void onTileChanged(ComponentName tile) { setTileIcon(); updateDefaultTileAndIcon(); } @Override Loading @@ -170,6 +175,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener } public Tile getQsTile() { updateDefaultTileAndIcon(); return mTile; } Loading Loading @@ -199,7 +205,7 @@ public class CustomTile extends QSTileImpl<State> implements TileChangeListener mListening = listening; try { if (listening) { setTileIcon(); updateDefaultTileAndIcon(); refreshState(); if (!mServiceManager.isActiveTile()) { mServiceManager.setBindRequested(true); Loading