Merge "Get Tile#intent through getter"
This commit is contained in:
committed by
Android (Google) Code Review
commit
fbc325a9aa
@@ -98,7 +98,7 @@ public class CategoryManager {
|
||||
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 @@ public class CategoryManager {
|
||||
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 {
|
||||
|
||||
@@ -343,7 +343,7 @@ public class DashboardAdapter extends RecyclerView.Adapter<DashboardAdapter.Dash
|
||||
}
|
||||
}
|
||||
} 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);
|
||||
}
|
||||
|
||||
@@ -117,14 +117,14 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
||||
|
||||
@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 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
||||
}
|
||||
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 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
||||
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 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
||||
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 @@ public class DashboardFeatureProviderImpl implements DashboardFeatureProvider {
|
||||
} 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);
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.android.settings.dashboard;
|
||||
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 @@ public class SummaryLoader {
|
||||
}
|
||||
|
||||
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 @@ public class SummaryLoader {
|
||||
* 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 @@ public class SummaryLoader {
|
||||
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 @@ public class SummaryLoader {
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,8 +71,9 @@ public class ProfileSelectDialog extends DialogFragment implements OnClickListen
|
||||
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) {
|
||||
|
||||
Reference in New Issue
Block a user