OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 package org.chromium.chrome.browser; | 5 package org.chromium.chrome.browser; |
6 | 6 |
7 import android.annotation.SuppressLint; | 7 import android.annotation.SuppressLint; |
8 import android.annotation.TargetApi; | 8 import android.annotation.TargetApi; |
9 import android.app.Activity; | 9 import android.app.Activity; |
10 import android.app.ActivityManager; | 10 import android.app.ActivityManager; |
(...skipping 1320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1331 @Override | 1331 @Override |
1332 public void terminateIncognitoSession() { | 1332 public void terminateIncognitoSession() { |
1333 getTabModelSelector().getModel(true).closeAllTabs(); | 1333 getTabModelSelector().getModel(true).closeAllTabs(); |
1334 } | 1334 } |
1335 | 1335 |
1336 @Override | 1336 @Override |
1337 public boolean onMenuOrKeyboardAction(final int id, boolean fromMenu) { | 1337 public boolean onMenuOrKeyboardAction(final int id, boolean fromMenu) { |
1338 final Tab currentTab = getActivityTab(); | 1338 final Tab currentTab = getActivityTab(); |
1339 boolean currentTabIsNtp = currentTab != null && NewTabPage.isNTPUrl(curr
entTab.getUrl()); | 1339 boolean currentTabIsNtp = currentTab != null && NewTabPage.isNTPUrl(curr
entTab.getUrl()); |
1340 if (id == R.id.move_to_other_window_menu_id) { | 1340 if (id == R.id.move_to_other_window_menu_id) { |
1341 if (currentTab != null) moveTabToOtherWindow(currentTab); | 1341 if (currentTab != null) MultiWindowUtils.moveTabToOtherWindow(this,
currentTab); |
1342 } else if (id == R.id.new_tab_menu_id) { | 1342 } else if (id == R.id.new_tab_menu_id) { |
1343 getTabModelSelector().getModel(false).commitAllTabClosures(); | 1343 getTabModelSelector().getModel(false).commitAllTabClosures(); |
1344 RecordUserAction.record("MobileMenuNewTab"); | 1344 RecordUserAction.record("MobileMenuNewTab"); |
1345 RecordUserAction.record("MobileNewTabOpened"); | 1345 RecordUserAction.record("MobileNewTabOpened"); |
1346 reportNewTabShortcutUsed(false); | 1346 reportNewTabShortcutUsed(false); |
1347 getTabCreator(false).launchUrl(UrlConstants.NTP_URL, TabLaunchType.F
ROM_CHROME_UI); | 1347 getTabCreator(false).launchUrl(UrlConstants.NTP_URL, TabLaunchType.F
ROM_CHROME_UI); |
1348 mLocaleManager.showSearchEnginePromoIfNeeded(this); | 1348 mLocaleManager.showSearchEnginePromoIfNeeded(this); |
1349 } else if (id == R.id.new_incognito_tab_menu_id) { | 1349 } else if (id == R.id.new_incognito_tab_menu_id) { |
1350 if (PrefServiceBridge.getInstance().isIncognitoModeEnabled()) { | 1350 if (PrefServiceBridge.getInstance().isIncognitoModeEnabled()) { |
1351 getTabModelSelector().getModel(false).commitAllTabClosures(); | 1351 getTabModelSelector().getModel(false).commitAllTabClosures(); |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1438 } | 1438 } |
1439 | 1439 |
1440 private void recordLauncherShortcutAction(boolean isIncognito) { | 1440 private void recordLauncherShortcutAction(boolean isIncognito) { |
1441 if (isIncognito) { | 1441 if (isIncognito) { |
1442 RecordUserAction.record("Android.LauncherShortcut.NewIncognitoTab"); | 1442 RecordUserAction.record("Android.LauncherShortcut.NewIncognitoTab"); |
1443 } else { | 1443 } else { |
1444 RecordUserAction.record("Android.LauncherShortcut.NewTab"); | 1444 RecordUserAction.record("Android.LauncherShortcut.NewTab"); |
1445 } | 1445 } |
1446 } | 1446 } |
1447 | 1447 |
1448 private void moveTabToOtherWindow(Tab tab) { | |
1449 Class<? extends Activity> targetActivity = | |
1450 MultiWindowUtils.getInstance().getOpenInOtherWindowActivity(this
); | |
1451 if (targetActivity == null) return; | |
1452 | |
1453 Intent intent = new Intent(this, targetActivity); | |
1454 MultiWindowUtils.setOpenInOtherWindowIntentExtras(intent, this, targetAc
tivity); | |
1455 MultiWindowUtils.onMultiInstanceModeStarted(); | |
1456 | |
1457 tab.detachAndStartReparenting(intent, null, null); | |
1458 } | |
1459 | |
1460 @Override | 1448 @Override |
1461 public boolean handleBackPressed() { | 1449 public boolean handleBackPressed() { |
1462 if (!mUIInitialized) return false; | 1450 if (!mUIInitialized) return false; |
1463 final Tab currentTab = getActivityTab(); | 1451 final Tab currentTab = getActivityTab(); |
1464 | 1452 |
1465 if (currentTab == null) { | 1453 if (currentTab == null) { |
1466 recordBackPressedUma("currentTab is null", BACK_PRESSED_TAB_IS_NULL)
; | 1454 recordBackPressedUma("currentTab is null", BACK_PRESSED_TAB_IS_NULL)
; |
1467 moveTaskToBack(true); | 1455 moveTaskToBack(true); |
1468 return true; | 1456 return true; |
1469 } | 1457 } |
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1942 | 1930 |
1943 ActivityManager manager = (ActivityManager) getSystemService(Context.ACT
IVITY_SERVICE); | 1931 ActivityManager manager = (ActivityManager) getSystemService(Context.ACT
IVITY_SERVICE); |
1944 for (AppTask task : manager.getAppTasks()) { | 1932 for (AppTask task : manager.getAppTasks()) { |
1945 RecentTaskInfo info = DocumentUtils.getTaskInfoFromTask(task); | 1933 RecentTaskInfo info = DocumentUtils.getTaskInfoFromTask(task); |
1946 if (info == null) continue; | 1934 if (info == null) continue; |
1947 if (info.id == sMergedInstanceTaskId) return true; | 1935 if (info.id == sMergedInstanceTaskId) return true; |
1948 } | 1936 } |
1949 return false; | 1937 return false; |
1950 } | 1938 } |
1951 } | 1939 } |
OLD | NEW |