Add some debug logging

- Increase logging in SettingsActivity's onCreate and launch fragment
  flow.
- Log class name when enable/disable tiles

Bug: 75030092
Test: logcat
Change-Id: Ieb00228562a79c12aba2198021ece505bc371b58
This commit is contained in:
Fan Zhang
2018-03-27 14:14:13 -07:00
parent d46cf49b6d
commit 2223050dc8
2 changed files with 37 additions and 24 deletions

View File

@@ -63,7 +63,6 @@ import com.android.settings.core.SubSettingLauncher;
import com.android.settings.core.gateway.SettingsGateway; import com.android.settings.core.gateway.SettingsGateway;
import com.android.settings.dashboard.DashboardFeatureProvider; import com.android.settings.dashboard.DashboardFeatureProvider;
import com.android.settings.dashboard.DashboardSummary; import com.android.settings.dashboard.DashboardSummary;
import com.android.settings.development.DevelopmentSettingsDashboardFragment;
import com.android.settings.overlay.FeatureFactory; import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.DeviceIndexFeatureProvider; import com.android.settings.search.DeviceIndexFeatureProvider;
import com.android.settings.wfd.WifiDisplaySettings; import com.android.settings.wfd.WifiDisplaySettings;
@@ -83,7 +82,7 @@ public class SettingsActivity extends SettingsDrawerActivity
PreferenceFragment.OnPreferenceStartFragmentCallback, PreferenceFragment.OnPreferenceStartFragmentCallback,
ButtonBarHandler, FragmentManager.OnBackStackChangedListener { ButtonBarHandler, FragmentManager.OnBackStackChangedListener {
private static final String LOG_TAG = "Settings"; private static final String LOG_TAG = "SettingsActivity";
// Constants for state save/restore // Constants for state save/restore
private static final String SAVE_KEY_CATEGORIES = ":settings:categories"; private static final String SAVE_KEY_CATEGORIES = ":settings:categories";
@@ -234,6 +233,7 @@ public class SettingsActivity extends SettingsDrawerActivity
@Override @Override
protected void onCreate(Bundle savedState) { protected void onCreate(Bundle savedState) {
super.onCreate(savedState); super.onCreate(savedState);
Log.d(LOG_TAG, "Starting onCreate");
long startTime = System.currentTimeMillis(); long startTime = System.currentTimeMillis();
final FeatureFactory factory = FeatureFactory.getFactory(this); final FeatureFactory factory = FeatureFactory.getFactory(this);
@@ -396,6 +396,7 @@ public class SettingsActivity extends SettingsDrawerActivity
} }
private void setTitleFromIntent(Intent intent) { private void setTitleFromIntent(Intent intent) {
Log.d(LOG_TAG, "Starting to set activity title");
final int initialTitleResId = intent.getIntExtra(EXTRA_SHOW_FRAGMENT_TITLE_RESID, -1); final int initialTitleResId = intent.getIntExtra(EXTRA_SHOW_FRAGMENT_TITLE_RESID, -1);
if (initialTitleResId > 0) { if (initialTitleResId > 0) {
mInitialTitle = null; mInitialTitle = null;
@@ -423,6 +424,7 @@ public class SettingsActivity extends SettingsDrawerActivity
mInitialTitle = (initialTitle != null) ? initialTitle : getTitle(); mInitialTitle = (initialTitle != null) ? initialTitle : getTitle();
setTitle(mInitialTitle); setTitle(mInitialTitle);
} }
Log.d(LOG_TAG, "Done setting title");
} }
@Override @Override
@@ -577,6 +579,7 @@ public class SettingsActivity extends SettingsDrawerActivity
*/ */
private Fragment switchToFragment(String fragmentName, Bundle args, boolean validate, private Fragment switchToFragment(String fragmentName, Bundle args, boolean validate,
boolean addToBackStack, int titleResId, CharSequence title, boolean withTransition) { boolean addToBackStack, int titleResId, CharSequence title, boolean withTransition) {
Log.d(LOG_TAG, "Switching to fragment " + fragmentName);
if (validate && !isValidFragment(fragmentName)) { if (validate && !isValidFragment(fragmentName)) {
throw new IllegalArgumentException("Invalid fragment for this activity: " throw new IllegalArgumentException("Invalid fragment for this activity: "
+ fragmentName); + fragmentName);
@@ -597,6 +600,7 @@ public class SettingsActivity extends SettingsDrawerActivity
} }
transaction.commitAllowingStateLoss(); transaction.commitAllowingStateLoss();
getFragmentManager().executePendingTransactions(); getFragmentManager().executePendingTransactions();
Log.d(LOG_TAG, "Executed frag manager pendingTransactions");
return f; return f;
} }
@@ -626,12 +630,13 @@ public class SettingsActivity extends SettingsDrawerActivity
final boolean isAdmin = um.isAdminUser(); final boolean isAdmin = um.isAdminUser();
final FeatureFactory featureFactory = FeatureFactory.getFactory(this); final FeatureFactory featureFactory = FeatureFactory.getFactory(this);
boolean somethingChanged = false; boolean somethingChanged = false;
String packageName = getPackageName(); final String packageName = getPackageName();
somethingChanged = setTileEnabled( final StringBuilder changedList = new StringBuilder();
somethingChanged = setTileEnabled(changedList,
new ComponentName(packageName, WifiSettingsActivity.class.getName()), new ComponentName(packageName, WifiSettingsActivity.class.getName()),
pm.hasSystemFeature(PackageManager.FEATURE_WIFI), isAdmin) || somethingChanged; pm.hasSystemFeature(PackageManager.FEATURE_WIFI), isAdmin) || somethingChanged;
somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
Settings.BluetoothSettingsActivity.class.getName()), Settings.BluetoothSettingsActivity.class.getName()),
pm.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH), isAdmin) pm.hasSystemFeature(PackageManager.FEATURE_BLUETOOTH), isAdmin)
|| somethingChanged; || somethingChanged;
@@ -639,51 +644,51 @@ public class SettingsActivity extends SettingsDrawerActivity
// Enable DataUsageSummaryActivity if the data plan feature flag is turned on otherwise // Enable DataUsageSummaryActivity if the data plan feature flag is turned on otherwise
// enable DataPlanUsageSummaryActivity. // enable DataPlanUsageSummaryActivity.
somethingChanged = setTileEnabled( somethingChanged = setTileEnabled(changedList,
new ComponentName(packageName, Settings.DataUsageSummaryActivity.class.getName()), new ComponentName(packageName, Settings.DataUsageSummaryActivity.class.getName()),
Utils.isBandwidthControlEnabled() /* enabled */, Utils.isBandwidthControlEnabled() /* enabled */,
isAdmin) || somethingChanged; isAdmin) || somethingChanged;
somethingChanged = setTileEnabled( somethingChanged = setTileEnabled(changedList,
new ComponentName(packageName, new ComponentName(packageName,
Settings.ConnectedDeviceDashboardActivity.class.getName()), Settings.ConnectedDeviceDashboardActivity.class.getName()),
!UserManager.isDeviceInDemoMode(this) /* enabled */, !UserManager.isDeviceInDemoMode(this) /* enabled */,
isAdmin) || somethingChanged; isAdmin) || somethingChanged;
somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
Settings.SimSettingsActivity.class.getName()), Settings.SimSettingsActivity.class.getName()),
Utils.showSimCardTile(this), isAdmin) Utils.showSimCardTile(this), isAdmin)
|| somethingChanged; || somethingChanged;
somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
Settings.PowerUsageSummaryActivity.class.getName()), Settings.PowerUsageSummaryActivity.class.getName()),
mBatteryPresent, isAdmin) || somethingChanged; mBatteryPresent, isAdmin) || somethingChanged;
final boolean isDataUsageSettingsV2Enabled = final boolean isDataUsageSettingsV2Enabled =
FeatureFlagUtils.isEnabled(this, FeatureFlags.DATA_USAGE_SETTINGS_V2); FeatureFlagUtils.isEnabled(this, FeatureFlags.DATA_USAGE_SETTINGS_V2);
// Enable new data usage page if v2 enabled // Enable new data usage page if v2 enabled
somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
Settings.DataUsageSummaryActivity.class.getName()), Settings.DataUsageSummaryActivity.class.getName()),
Utils.isBandwidthControlEnabled() && isDataUsageSettingsV2Enabled, isAdmin) Utils.isBandwidthControlEnabled() && isDataUsageSettingsV2Enabled, isAdmin)
|| somethingChanged; || somethingChanged;
// Enable legacy data usage page if v2 disabled // Enable legacy data usage page if v2 disabled
somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
Settings.DataUsageSummaryLegacyActivity.class.getName()), Settings.DataUsageSummaryLegacyActivity.class.getName()),
Utils.isBandwidthControlEnabled() && !isDataUsageSettingsV2Enabled, isAdmin) Utils.isBandwidthControlEnabled() && !isDataUsageSettingsV2Enabled, isAdmin)
|| somethingChanged; || somethingChanged;
somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
Settings.UserSettingsActivity.class.getName()), Settings.UserSettingsActivity.class.getName()),
UserHandle.MU_ENABLED && UserManager.supportsMultipleUsers() UserHandle.MU_ENABLED && UserManager.supportsMultipleUsers()
&& !Utils.isMonkeyRunning(), isAdmin) && !Utils.isMonkeyRunning(), isAdmin)
|| somethingChanged; || somethingChanged;
somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
Settings.NetworkDashboardActivity.class.getName()), Settings.NetworkDashboardActivity.class.getName()),
!UserManager.isDeviceInDemoMode(this), isAdmin) !UserManager.isDeviceInDemoMode(this), isAdmin)
|| somethingChanged; || somethingChanged;
somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
Settings.DateTimeSettingsActivity.class.getName()), Settings.DateTimeSettingsActivity.class.getName()),
!UserManager.isDeviceInDemoMode(this), isAdmin) !UserManager.isDeviceInDemoMode(this), isAdmin)
|| somethingChanged; || somethingChanged;
@@ -691,17 +696,17 @@ public class SettingsActivity extends SettingsDrawerActivity
final boolean showDev = DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(this) final boolean showDev = DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(this)
&& !Utils.isMonkeyRunning(); && !Utils.isMonkeyRunning();
final boolean isAdminOrDemo = um.isAdminUser() || um.isDemoUser(); final boolean isAdminOrDemo = um.isAdminUser() || um.isDemoUser();
somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
Settings.DevelopmentSettingsDashboardActivity.class.getName()), Settings.DevelopmentSettingsDashboardActivity.class.getName()),
showDev, isAdminOrDemo) showDev, isAdminOrDemo)
|| somethingChanged; || somethingChanged;
// Enable/disable backup settings depending on whether the user is admin. // Enable/disable backup settings depending on whether the user is admin.
somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
BackupSettingsActivity.class.getName()), true, isAdmin) BackupSettingsActivity.class.getName()), true, isAdmin)
|| somethingChanged; || somethingChanged;
somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
Settings.WifiDisplaySettingsActivity.class.getName()), Settings.WifiDisplaySettingsActivity.class.getName()),
WifiDisplaySettings.isAvailable(this), isAdmin) WifiDisplaySettings.isAvailable(this), isAdmin)
|| somethingChanged; || somethingChanged;
@@ -710,11 +715,11 @@ public class SettingsActivity extends SettingsDrawerActivity
final boolean aboutPhoneV2Enabled = featureFactory final boolean aboutPhoneV2Enabled = featureFactory
.getAccountFeatureProvider() .getAccountFeatureProvider()
.isAboutPhoneV2Enabled(this); .isAboutPhoneV2Enabled(this);
somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
Settings.MyDeviceInfoActivity.class.getName()), Settings.MyDeviceInfoActivity.class.getName()),
aboutPhoneV2Enabled, isAdmin) aboutPhoneV2Enabled, isAdmin)
|| somethingChanged; || somethingChanged;
somethingChanged = setTileEnabled(new ComponentName(packageName, somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
Settings.DeviceInfoSettingsActivity.class.getName()), Settings.DeviceInfoSettingsActivity.class.getName()),
!aboutPhoneV2Enabled, isAdmin) !aboutPhoneV2Enabled, isAdmin)
|| somethingChanged; || somethingChanged;
@@ -735,7 +740,8 @@ public class SettingsActivity extends SettingsDrawerActivity
.equals(name)); .equals(name));
if (packageName.equals(component.getPackageName()) if (packageName.equals(component.getPackageName())
&& !isEnabledForRestricted) { && !isEnabledForRestricted) {
somethingChanged = setTileEnabled(component, false, isAdmin) somethingChanged =
setTileEnabled(changedList, component, false, isAdmin)
|| somethingChanged; || somethingChanged;
} }
} }
@@ -745,7 +751,8 @@ public class SettingsActivity extends SettingsDrawerActivity
// Final step, refresh categories. // Final step, refresh categories.
if (somethingChanged) { if (somethingChanged) {
Log.d(LOG_TAG, "Enabled state changed for some tiles, reloading all categories"); Log.d(LOG_TAG, "Enabled state changed for some tiles, reloading all categories "
+ changedList.toString());
updateCategories(); updateCategories();
} else { } else {
Log.d(LOG_TAG, "No enabled state changed, skipping updateCategory call"); Log.d(LOG_TAG, "No enabled state changed, skipping updateCategory call");
@@ -755,13 +762,18 @@ public class SettingsActivity extends SettingsDrawerActivity
/** /**
* @return whether or not the enabled state actually changed. * @return whether or not the enabled state actually changed.
*/ */
private boolean setTileEnabled(ComponentName component, boolean enabled, boolean isAdmin) { private boolean setTileEnabled(StringBuilder changedList, ComponentName component,
boolean enabled, boolean isAdmin) {
if (UserHandle.MU_ENABLED && !isAdmin && getPackageName().equals(component.getPackageName()) if (UserHandle.MU_ENABLED && !isAdmin && getPackageName().equals(component.getPackageName())
&& !ArrayUtils.contains(SettingsGateway.SETTINGS_FOR_RESTRICTED, && !ArrayUtils.contains(SettingsGateway.SETTINGS_FOR_RESTRICTED,
component.getClassName())) { component.getClassName())) {
enabled = false; enabled = false;
} }
return setTileEnabled(component, enabled); boolean changed = setTileEnabled(component, enabled);
if (changed) {
changedList.append(component.toShortString()).append(",");
}
return changed;
} }
private void getMetaData() { private void getMetaData() {

View File

@@ -106,6 +106,7 @@ public class DashboardSummary extends InstrumentedFragment
public void onCreate(Bundle savedInstanceState) { public void onCreate(Bundle savedInstanceState) {
long startTime = System.currentTimeMillis(); long startTime = System.currentTimeMillis();
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
Log.d(TAG, "Starting DashboardSummary");
final Activity activity = getActivity(); final Activity activity = getActivity();
mDashboardFeatureProvider = FeatureFactory.getFactory(activity) mDashboardFeatureProvider = FeatureFactory.getFactory(activity)
.getDashboardFeatureProvider(activity); .getDashboardFeatureProvider(activity);