private DashboardFeatureProvider mDashboardFeatureProvider;
private Intent mResultIntentData;
private ComponentName mCurrentSuggestion;
+ private final StringBuffer mDebugData = new StringBuffer();
@VisibleForTesting
String mSearchQuery;
} else {
if (!mIsShowingDashboard) {
+ if (initialFragmentName == null) {
+ logFragmentData(intent, className, isSubSettings);
+ }
mDisplaySearch = false;
// UP will be shown only if it is a sub settings
if (mIsShortcut) {
String startingFragment = getStartingFragmentClass(superIntent);
// This is called from super.onCreate, isMultiPane() is not yet reliable
// Do not use onIsHidingHeaders either, which relies itself on this method
+ log("getIntent() startingFragment", startingFragment);
if (startingFragment != null) {
Intent modIntent = new Intent(superIntent);
modIntent.putExtra(EXTRA_SHOW_FRAGMENT, startingFragment);
* returns the class name to load as a fragment.
*/
private String getStartingFragmentClass(Intent intent) {
+ log("getStartingFragmentClass() mFragmentClass", mFragmentClass);
if (mFragmentClass != null) return mFragmentClass;
String intentClass = intent.getComponent().getClassName();
+ log("getStartingFragmentClass() intentClass", intentClass);
if (intentClass.equals(getClass().getName())) return null;
if ("com.android.settings.ManageApplications".equals(intentClass)
}
super.onActivityResult(requestCode, resultCode, data);
}
+
+ private void logFragmentData(Intent intent, String className, boolean isSubSettings) {
+ if (intent != null) {
+ logBundleData(intent.getExtras(), "Intent extra");
+ logBundleData(intent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS), "Fragment args");
+ } else {
+ log("Intent data", "NULL");
+ }
+ log("Fragment", mFragmentClass);
+ log("Shortcut", mIsShortcut);
+ log("Class Name", className);
+ log("Show dashboard", mIsShowingDashboard);
+ log("Sub setting", isSubSettings);
+ log("Title", mInitialTitle);
+ Log.d(LOG_TAG, mDebugData.toString());
+ mDebugData.delete(0, mDebugData.length());
+ }
+
+ private void logBundleData(Bundle data, String name) {
+ if (data != null) {
+ final Set<String> keys = data.keySet();
+ mDebugData.append(name).append(": ");
+ for (String key : keys) {
+ log(key, data.get(key));
+ }
+ } else {
+ log(name, "NULL");
+ }
+ }
+
+ private void log(String key, Object data) {
+ mDebugData.append(key).append("=").append(data).append(", ");
+ }
}