Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(311)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/document/ChromeLauncherActivity.java

Issue 2077133002: Make Android back work correctly in Elderberry. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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.document; 5 package org.chromium.chrome.browser.document;
6 6
7 import android.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.app.Activity; 8 import android.app.Activity;
9 import android.app.Notification; 9 import android.app.Notification;
10 import android.app.PendingIntent; 10 import android.app.PendingIntent;
(...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 // For Elderberry flavored Herbs that are to be launched in a separate t ask, add a random 341 // For Elderberry flavored Herbs that are to be launched in a separate t ask, add a random
342 // UUID to try and prevent Android from refocusing/clobbering items that share the same 342 // UUID to try and prevent Android from refocusing/clobbering items that share the same
343 // base intent. If we do support refocusing of existing Herbs, we need to do it on the 343 // base intent. If we do support refocusing of existing Herbs, we need to do it on the
344 // current URL and not the URL that it was triggered with. 344 // current URL and not the URL that it was triggered with.
345 if (TextUtils.equals( 345 if (TextUtils.equals(
346 FeatureUtilities.getHerbFlavor(), ChromeSwitches.HERB_FLAVOR_ELD ERBERRY) 346 FeatureUtilities.getHerbFlavor(), ChromeSwitches.HERB_FLAVOR_ELD ERBERRY)
347 && (newIntent.getFlags() & Intent.FLAG_ACTIVITY_NEW_TASK) != 0 347 && (newIntent.getFlags() & Intent.FLAG_ACTIVITY_NEW_TASK) != 0
348 || (newIntent.getFlags() & Intent.FLAG_ACTIVITY_NEW_DOCU MENT) != 0) { 348 || (newIntent.getFlags() & Intent.FLAG_ACTIVITY_NEW_DOCU MENT) != 0) {
349 newIntent.setClassName(context, SeparateTaskCustomTabActivity.class. getName()); 349 newIntent.setClassName(context, SeparateTaskCustomTabActivity.class. getName());
350 350
351 // Pre-L, the exclude from recents flag on the launcher does not app ly to the launched
352 // separate task activity (and provides the desired user behavior). On L, the flag
353 // needs to be cleared otherwise it is hidden immediately upon exiti ng.
354 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
355 newIntent.setFlags(
356 newIntent.getFlags() & ~Intent.FLAG_ACTIVITY_EXCLUDE_FRO M_RECENTS);
357 }
351 String url = IntentHandler.getUrlFromIntent(newIntent); 358 String url = IntentHandler.getUrlFromIntent(newIntent);
352 assert url != null; 359 assert url != null;
353 360
354 newIntent.setData(new Uri.Builder().scheme(UrlConstants.CUSTOM_TAB_S CHEME) 361 newIntent.setData(new Uri.Builder().scheme(UrlConstants.CUSTOM_TAB_S CHEME)
355 .authority(UUID.randomUUID().toString()) 362 .authority(UUID.randomUUID().toString())
356 .query(url).build()); 363 .query(url).build());
357 } 364 }
358 365
359 Bundle herbActionButtonBundle = new Bundle(); 366 Bundle herbActionButtonBundle = new Bundle();
360 367
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
504 IntentHandler.ExternalAppId source = 511 IntentHandler.ExternalAppId source =
505 IntentHandler.determineExternalIntentSource(getPackageName(), in tent); 512 IntentHandler.determineExternalIntentSource(getPackageName(), in tent);
506 if (intent.getPackage() == null && source != IntentHandler.ExternalAppId .CHROME) { 513 if (intent.getPackage() == null && source != IntentHandler.ExternalAppId .CHROME) {
507 int flagsOfInterest = Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_AC TIVITY_NEW_DOCUMENT; 514 int flagsOfInterest = Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_AC TIVITY_NEW_DOCUMENT;
508 int maskedFlags = intent.getFlags() & flagsOfInterest; 515 int maskedFlags = intent.getFlags() & flagsOfInterest;
509 sIntentFlagsHistogram.record(maskedFlags); 516 sIntentFlagsHistogram.record(maskedFlags);
510 } 517 }
511 MediaNotificationUma.recordClickSource(intent); 518 MediaNotificationUma.recordClickSource(intent);
512 } 519 }
513 } 520 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698