From 7290784ab3832a99983149e929dd5f7449656d3c Mon Sep 17 00:00:00 2001 From: Suresh Kamasala Date: Thu, 12 Feb 2015 18:28:22 +0530 Subject: Galler2 : Load onResume on separate thread Loading onResume is taking too much time So screen transition is not happening quickly. Loading onResume in separate thread with Some delay and removed animation, So screen transition can happeny smoothly. Change-Id: I0f09128f8c948a33b72a5b4933efe7f4fbba2cb2 CRs-Fixed: 785891 --- .../gallery3d/app/AbstractGalleryActivity.java | 36 ++++++++++++++++------ src/com/android/gallery3d/app/MovieActivity.java | 11 ++++++- 2 files changed, 37 insertions(+), 10 deletions(-) (limited to 'src/com') diff --git a/src/com/android/gallery3d/app/AbstractGalleryActivity.java b/src/com/android/gallery3d/app/AbstractGalleryActivity.java index ae30cb0aa..84a9b5753 100644 --- a/src/com/android/gallery3d/app/AbstractGalleryActivity.java +++ b/src/com/android/gallery3d/app/AbstractGalleryActivity.java @@ -37,6 +37,7 @@ import android.view.Menu; import android.view.MenuItem; import android.view.Window; import android.view.WindowManager; +import android.os.Handler; import com.android.gallery3d.R; import com.android.gallery3d.common.ApiHelper; @@ -60,6 +61,7 @@ public class AbstractGalleryActivity extends Activity implements GalleryContext private TransitionStore mTransitionStore = new TransitionStore(); private boolean mDisableToggleStatusBar; private PanoramaViewHelper mPanoramaViewHelper; + private static final int ONRESUME_DELAY = 50; private AlertDialog mAlertDialog = null; private BroadcastReceiver mMountReceiver = new BroadcastReceiver() { @@ -212,15 +214,31 @@ public class AbstractGalleryActivity extends Activity implements GalleryContext @Override protected void onResume() { super.onResume(); - mGLRootView.lockRenderThread(); - try { - getStateManager().resume(); - getDataManager().resume(); - } finally { - mGLRootView.unlockRenderThread(); - } - mGLRootView.onResume(); - mOrientationManager.resume(); + delayedOnResume(ONRESUME_DELAY); + } + + private void delayedOnResume(final int delay){ + final Handler handler = new Handler(); + Runnable delayTask = new Runnable() { + @Override + public void run() { + handler.postDelayed(new Runnable() { + @Override + public void run() { + mGLRootView.lockRenderThread(); + try { + getStateManager().resume(); + getDataManager().resume(); + } finally { + mGLRootView.unlockRenderThread(); + } + mGLRootView.onResume(); + mOrientationManager.resume(); + }}, delay); + } + }; + Thread delayThread = new Thread(delayTask); + delayThread.start(); } @Override diff --git a/src/com/android/gallery3d/app/MovieActivity.java b/src/com/android/gallery3d/app/MovieActivity.java index 6aa4ce46b..31370cbee 100644 --- a/src/com/android/gallery3d/app/MovieActivity.java +++ b/src/com/android/gallery3d/app/MovieActivity.java @@ -197,7 +197,7 @@ public class MovieActivity extends Activity { @Override public void onCompletion() { if (mFinishOnCompletion) { - finish(); + finishActivity(); mControlResumed = false; Bookmarker mBookmarker = new Bookmarker(MovieActivity.this); mBookmarker.setBookmark(mMovieItem.getUri(), 0, 1); @@ -801,4 +801,13 @@ public class MovieActivity extends Activity { actionBar.setTitle(title); } } + @Override + public void onBackPressed() { + finishActivity(); + } + private void finishActivity(){ + MovieActivity.this.finish(); + overridePendingTransition(0,0); + return; + } } -- cgit v1.2.3