diff options
| author | Fabrice Di Meglio <fdimeglio@google.com> | 2014-05-22 10:30:03 -0700 |
|---|---|---|
| committer | Fabrice Di Meglio <fdimeglio@google.com> | 2014-05-22 10:30:03 -0700 |
| commit | b644f29313c086806d1ba5ad3db8ac36d2bf3c4f (patch) | |
| tree | ad5910d4bcb03852629b3819d04432de30e55ad7 /src | |
| parent | c46bfb1c3883e7d593c8d535e4d628d8fb42ebfb (diff) | |
| download | packages_apps_Settings-b644f29313c086806d1ba5ad3db8ac36d2bf3c4f.tar.gz packages_apps_Settings-b644f29313c086806d1ba5ad3db8ac36d2bf3c4f.tar.bz2 packages_apps_Settings-b644f29313c086806d1ba5ad3db8ac36d2bf3c4f.zip | |
Optimize Dashboard loading
- prevent loading categories twice
- add some logging to see the time taken for building the Dashboard titles
Change-Id: I31724c0e66fe3b453a87f12476f58db84c73423f
Diffstat (limited to 'src')
| -rw-r--r-- | src/com/android/settings/SettingsActivity.java | 17 | ||||
| -rw-r--r-- | src/com/android/settings/dashboard/DashboardSummary.java | 4 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java index 5b7895053..9bd8d4c6c 100644 --- a/src/com/android/settings/SettingsActivity.java +++ b/src/com/android/settings/SettingsActivity.java @@ -325,7 +325,9 @@ public class SettingsActivity extends Activity public void handleMessage(Message msg) { switch (msg.what) { case MSG_BUILD_CATEGORIES: { - buildDashboardCategories(mCategories); + if(mNeedToRebuildCategories) { + buildDashboardCategories(mCategories); + } } break; } } @@ -342,7 +344,7 @@ public class SettingsActivity extends Activity } public List<DashboardCategory> getDashboardCategories() { - if (mNeedToRebuildCategories) { + if (mNeedToRebuildCategories || mCategories.size() == 0) { buildDashboardCategories(mCategories); mNeedToRebuildCategories = false; } @@ -491,16 +493,11 @@ public class SettingsActivity extends Activity switchToFragment( initialFragmentName, initialArguments, true, false, mInitialTitle, false); } else { - // We need to build the Categories in all cases - buildDashboardCategories(mCategories); - // No UP if we are displaying the main Dashboard mDisplayHomeAsUpEnabled = false; - if (mCategories.size() > 0) { - mInitialTitle = getText(R.string.dashboard_title); - switchToFragment(DashboardSummary.class.getName(), null, false, false, - mInitialTitle, false); - } + mInitialTitle = getText(R.string.dashboard_title); + switchToFragment(DashboardSummary.class.getName(), null, false, false, + mInitialTitle, false); } } diff --git a/src/com/android/settings/dashboard/DashboardSummary.java b/src/com/android/settings/dashboard/DashboardSummary.java index faafad12e..73dcd1780 100644 --- a/src/com/android/settings/dashboard/DashboardSummary.java +++ b/src/com/android/settings/dashboard/DashboardSummary.java @@ -27,6 +27,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.text.TextUtils; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -79,6 +80,7 @@ public class DashboardSummary extends Fragment implements OnAccountsUpdateListen } private void rebuildUI(Context context) { + long start = System.currentTimeMillis(); final Resources res = getResources(); mDashboard.removeAllViews(); @@ -116,6 +118,8 @@ public class DashboardSummary extends Fragment implements OnAccountsUpdateListen // Add the category mDashboard.addView(categoryView); } + long delta = System.currentTimeMillis() - start; + Log.d(LOG_TAG, "rebuildUI took: " + delta + " ms"); } @Override |
