Get Tile#intent through getter
Bug: 77600770
Test: robotests
Change-Id: I17d3556f833e6a9610fe34f382534bd90bb0499f
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 0df0e6f..d268eb6 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -723,7 +723,8 @@
for (DashboardCategory category : categories) {
final int tileCount = category.getTilesCount();
for (int i = 0; i < tileCount; i++) {
- final ComponentName component = category.getTile(i).intent.getComponent();
+ final ComponentName component = category.getTile(i)
+ .getIntent().getComponent();
final String name = component.getClassName();
final boolean isEnabledForRestricted = ArrayUtils.contains(
SettingsGateway.SETTINGS_FOR_RESTRICTED, name);
diff --git a/src/com/android/settings/accounts/AccountDetailDashboardFragment.java b/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
index 14d2fd3..f98aee1 100644
--- a/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
+++ b/src/com/android/settings/accounts/AccountDetailDashboardFragment.java
@@ -22,6 +22,9 @@
import android.os.UserHandle;
import android.os.UserManager;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceScreen;
+
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.Utils;
@@ -33,9 +36,6 @@
import java.util.ArrayList;
import java.util.List;
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.PreferenceScreen;
-
public class AccountDetailDashboardFragment extends DashboardFragment {
private static final String TAG = "AccountDetailDashboard";
@@ -131,8 +131,8 @@
return false;
}
final boolean display = mAccountType.equals(metadata.getString(METADATA_IA_ACCOUNT));
- if (display && tile.intent != null) {
- tile.intent.putExtra(EXTRA_ACCOUNT_NAME, mAccount.name);
+ if (display) {
+ tile.getIntent().putExtra(EXTRA_ACCOUNT_NAME, mAccount.name);
}
return display;
}
diff --git a/src/com/android/settings/dashboard/CategoryManager.java b/src/com/android/settings/dashboard/CategoryManager.java
index baabe28..21324b2 100644
--- a/src/com/android/settings/dashboard/CategoryManager.java
+++ b/src/com/android/settings/dashboard/CategoryManager.java
@@ -98,7 +98,7 @@
DashboardCategory category = mCategories.get(i);
for (int j = 0; j < category.getTilesCount(); j++) {
Tile tile = category.getTile(j);
- if (tileBlacklist.contains(tile.intent.getComponent())) {
+ if (tileBlacklist.contains(tile.getIntent().getComponent())) {
category.removeTile(j--);
}
}
@@ -205,10 +205,7 @@
final Set<ComponentName> components = new ArraySet<>();
for (int i = count - 1; i >= 0; i--) {
final Tile tile = category.getTile(i);
- if (tile.intent == null) {
- continue;
- }
- final ComponentName tileComponent = tile.intent.getComponent();
+ final ComponentName tileComponent = tile.getIntent().getComponent();
if (components.contains(tileComponent)) {
category.removeTile(i);
} else {
diff --git a/src/com/android/settings/dashboard/DashboardAdapter.java b/src/com/android/settings/dashboard/DashboardAdapter.java
index fc1a129..d065d0a 100644
--- a/src/com/android/settings/dashboard/DashboardAdapter.java
+++ b/src/com/android/settings/dashboard/DashboardAdapter.java
@@ -333,7 +333,7 @@
}
}
} catch (PackageManager.NameNotFoundException e) {
- Log.e(TAG, "Failed to set background color for " + tile.intent.getPackage());
+ Log.e(TAG, "Failed to set background color for " + tile.getPackageName());
}
mCache.updateIcon(tileIcon, icon);
}
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
index 42bc777..49c7bbb 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
@@ -117,14 +117,14 @@
@Override
public String getDashboardKeyForTile(Tile tile) {
- if (tile == null || tile.intent == null) {
+ if (tile == null) {
return null;
}
if (!TextUtils.isEmpty(tile.key)) {
return tile.key;
}
final StringBuilder sb = new StringBuilder(DASHBOARD_TILE_PREF_KEY_PREFIX);
- final ComponentName component = tile.intent.getComponent();
+ final ComponentName component = tile.getIntent().getComponent();
sb.append(component.getClassName());
return sb.toString();
}
@@ -157,8 +157,8 @@
}
if (!TextUtils.isEmpty(clsName)) {
pref.setFragment(clsName);
- } else if (tile.intent != null) {
- final Intent intent = new Intent(tile.intent);
+ } else {
+ final Intent intent = new Intent(tile.getIntent());
intent.putExtra(VisibilityLoggerMixin.EXTRA_SOURCE_METRICS_CATEGORY,
sourceMetricsCategory);
if (action != null) {
@@ -178,11 +178,8 @@
order = -tile.priority;
}
if (order != null) {
- boolean shouldSkipBaseOrderOffset = false;
- if (tile.intent != null) {
- shouldSkipBaseOrderOffset = TextUtils.equals(
- skipOffsetPackageName, tile.intent.getComponent().getPackageName());
- }
+ boolean shouldSkipBaseOrderOffset = TextUtils.equals(
+ skipOffsetPackageName, tile.getIntent().getComponent().getPackageName());
if (shouldSkipBaseOrderOffset || baseOrder == Preference.DEFAULT_ORDER) {
pref.setOrder(order);
} else {
@@ -204,11 +201,7 @@
mContext.startActivity(intent);
return;
}
-
- if (tile.intent == null) {
- return;
- }
- final Intent intent = new Intent(tile.intent)
+ final Intent intent = new Intent(tile.getIntent())
.putExtra(VisibilityLoggerMixin.EXTRA_SOURCE_METRICS_CATEGORY,
MetricsEvent.DASHBOARD_SUMMARY)
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
@@ -244,14 +237,12 @@
} else if (tile.getMetaData() != null
&& tile.getMetaData().containsKey(META_DATA_PREFERENCE_ICON_URI)) {
ThreadUtils.postOnBackgroundThread(() -> {
+ final Intent intent = tile.getIntent();
String packageName = null;
- if (tile.intent != null) {
- Intent intent = tile.intent;
- if (!TextUtils.isEmpty(intent.getPackage())) {
- packageName = intent.getPackage();
- } else if (intent.getComponent() != null) {
- packageName = intent.getComponent().getPackageName();
- }
+ if (!TextUtils.isEmpty(intent.getPackage())) {
+ packageName = intent.getPackage();
+ } else if (intent.getComponent() != null) {
+ packageName = intent.getComponent().getPackageName();
}
final Map<String, IContentProvider> providerMap = new ArrayMap<>();
final String uri = tile.getMetaData().getString(META_DATA_PREFERENCE_ICON_URI);
diff --git a/src/com/android/settings/dashboard/SummaryLoader.java b/src/com/android/settings/dashboard/SummaryLoader.java
index d8694f2..199331d 100644
--- a/src/com/android/settings/dashboard/SummaryLoader.java
+++ b/src/com/android/settings/dashboard/SummaryLoader.java
@@ -18,6 +18,7 @@
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
+import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
import android.os.Handler;
@@ -155,19 +156,20 @@
}
private SummaryProvider getSummaryProvider(Tile tile) {
- if (!mActivity.getPackageName().equals(tile.intent.getComponent().getPackageName())) {
+ if (!mActivity.getPackageName().equals(tile.getPackageName())) {
// Not within Settings, can't load Summary directly.
// TODO: Load summary indirectly.
return null;
}
final Bundle metaData = tile.getMetaData();
+ final Intent intent = tile.getIntent();
if (metaData == null) {
- if (DEBUG) Log.d(TAG, "No metadata specified for " + tile.intent.getComponent());
+ Log.d(TAG, "No metadata specified for " + intent.getComponent());
return null;
}
- String clsName = metaData.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS);
+ final String clsName = metaData.getString(SettingsActivity.META_DATA_KEY_FRAGMENT_CLASS);
if (clsName == null) {
- if (DEBUG) Log.d(TAG, "No fragment specified for " + tile.intent.getComponent());
+ Log.d(TAG, "No fragment specified for " + intent.getComponent());
return null;
}
try {
@@ -193,15 +195,12 @@
* operations are asynchronous.
*/
public void registerReceiver(final BroadcastReceiver receiver, final IntentFilter filter) {
- mActivity.runOnUiThread(new Runnable() {
- @Override
- public void run() {
- if (!mListening) {
- return;
- }
- mReceivers.add(receiver);
- mActivity.registerReceiver(receiver, filter);
+ mActivity.runOnUiThread(() -> {
+ if (!mListening) {
+ return;
}
+ mReceivers.add(receiver);
+ mActivity.registerReceiver(receiver, filter);
});
}
@@ -242,7 +241,7 @@
SummaryProvider provider = getSummaryProvider(tile);
if (provider != null) {
if (DEBUG) Log.d(TAG, "Creating " + tile);
- mSummaryProviderMap.put(provider, tile.intent.getComponent());
+ mSummaryProviderMap.put(provider, tile.getIntent().getComponent());
}
}
@@ -254,7 +253,7 @@
final int tileCount = tiles.size();
for (int j = 0; j < tileCount; j++) {
final Tile tile = tiles.get(j);
- if (component.equals(tile.intent.getComponent())) {
+ if (component.equals(tile.getIntent().getComponent())) {
return tile;
}
}
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
index e56c58b..b49f401 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
@@ -71,8 +71,9 @@
public void onClick(DialogInterface dialog, int which) {
UserHandle user = mSelectedTile.userHandle.get(which);
// Show menu on top level items.
- mSelectedTile.intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
- getActivity().startActivityAsUser(mSelectedTile.intent, user);
+ final Intent intent = mSelectedTile.getIntent();
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ getActivity().startActivityAsUser(intent, user);
}
public static void updateUserHandlesIfNeeded(Context context, Tile tile) {