diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index e617fb3..f7464e6 100755
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -259,6 +259,11 @@ import static com.android.server.wm.WindowManagerDebugConfig.TAG_WITH_CLASS_NAME
import static com.android.server.wm.WindowManagerDebugConfig.TAG_WM;
import static com.android.server.wm.WindowStateAnimator.DRAW_PENDING;
import static com.android.server.wm.WindowStateAnimator.STACK_CLIP_NONE;
+import android.app.ActivityManager.RunningTaskInfo;
+import android.app.usage.UsageStatsManager;
+import android.app.usage.UsageStats;
+import java.util.SortedMap;
+import java.util.TreeMap;
/** {@hide} */
public class WindowManagerService extends IWindowManager.Stub
@@ -4365,8 +4370,30 @@ public class WindowManagerService extends IWindowManager.Stub
*/
boolean updateOrientationFromAppTokensLocked(boolean inTransaction) {
long ident = Binder.clearCallingIdentity();
+ String pkgName="";
try {
int req = getOrientationLocked();
+ UsageStatsManager usm = (UsageStatsManager) mContext.getSystemService(Context.USAGE_STATS_SERVICE);
+ long time = System.currentTimeMillis();
+ List<UsageStats> appList = usm.queryUsageStats(UsageStatsManager.INTERVAL_DAILY, time - 1000 * 1000, time);
+ if (appList != null && appList.size() > 0) {
+ SortedMap<Long, UsageStats> mySortedMap = new TreeMap<Long, UsageStats>();
+ for (UsageStats usageStats : appList) {
+ mySortedMap.put(usageStats.getLastTimeUsed(), usageStats);
+ }
+ if (mySortedMap != null && !mySortedMap.isEmpty()) {
+ pkgName = mySortedMap.get(mySortedMap.lastKey()).getPackageName();
+ }
+ }
+
+
+ Log.d("PhoneWindowManager","PhoneWindowManager_33_pkgName:"+pkgName);
+ if(pkgName.equals("com.xx")){
+ req = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
+ }else {
+ Log.d("PhoneWindowManager","...updateOrientationFromAppTokensLocked");
+ }
+
if (req != mLastOrientation) {
mLastOrientation = req;
//send a message to Policy indicating orientation change to take