diff --git a/AUTHORS b/AUTHORS index 21f28d2f0c699..edca747be7e57 100644 --- a/AUTHORS +++ b/AUTHORS @@ -355,6 +355,7 @@ Sevan Janiyan ShankarGanesh K Shez Baig Shiliu Wang +Shiliu Wang Shouqun Liu Shreyas VA Simon Arlott diff --git a/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java b/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java index 47e79e6a06f28..0aebd440be7f9 100644 --- a/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java +++ b/content/public/android/java/src/org/chromium/content/browser/ScreenOrientationProvider.java @@ -6,6 +6,7 @@ import android.app.Activity; import android.content.pm.ActivityInfo; +import android.content.pm.PackageManager; import android.util.Log; import com.google.common.annotations.VisibleForTesting; @@ -74,7 +75,17 @@ void unlockOrientation() { return; } - activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED); + int defaultOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED; + + try { + ActivityInfo info = activity.getPackageManager().getActivityInfo( + activity.getComponentName(), PackageManager.GET_META_DATA); + defaultOrientation = info.screenOrientation; + } catch (PackageManager.NameNotFoundException e) { + // Do nothing, defaultOrientation should be SCREEN_ORIENTATION_UNSPECIFIED. + } finally { + activity.setRequestedOrientation(defaultOrientation); + } } private ScreenOrientationProvider() {