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

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/download/DownloadSheetContent.java

Issue 2751583002: 🏡 Show correct BottomSheetContent toolbar when contents swapped (Closed)
Patch Set: Remove duplicate "and" Created 3 years, 9 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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.download; 5 package org.chromium.chrome.browser.download;
6 6
7 import android.app.Activity; 7 import android.app.Activity;
8 import android.support.v7.widget.Toolbar;
8 import android.view.View; 9 import android.view.View;
9 10
10 import org.chromium.base.ActivityState; 11 import org.chromium.base.ActivityState;
11 import org.chromium.base.ApplicationStatus; 12 import org.chromium.base.ApplicationStatus;
12 import org.chromium.base.ApplicationStatus.ActivityStateListener; 13 import org.chromium.base.ApplicationStatus.ActivityStateListener;
13 import org.chromium.base.ThreadUtils; 14 import org.chromium.base.ThreadUtils;
15 import org.chromium.chrome.browser.ChromeActivity;
14 import org.chromium.chrome.browser.download.ui.DownloadManagerUi; 16 import org.chromium.chrome.browser.download.ui.DownloadManagerUi;
17 import org.chromium.chrome.browser.toolbar.BottomToolbarPhone;
15 import org.chromium.chrome.browser.widget.BottomSheet.BottomSheetContent; 18 import org.chromium.chrome.browser.widget.BottomSheet.BottomSheetContent;
16 19
17 /** 20 /**
18 * A {@link BottomSheetContent} holding a {@link DownloadManagerUi} for display in the BottomSheet. 21 * A {@link BottomSheetContent} holding a {@link DownloadManagerUi} for display in the BottomSheet.
19 */ 22 */
20 public class DownloadSheetContent implements BottomSheetContent { 23 public class DownloadSheetContent implements BottomSheetContent {
21 private final View mContentView; 24 private final View mContentView;
25 private final Toolbar mToolbarView;
22 private final ActivityStateListener mActivityStateListener; 26 private final ActivityStateListener mActivityStateListener;
23 private DownloadManagerUi mDownloadManager; 27 private DownloadManagerUi mDownloadManager;
24 28
25 /** 29 /**
26 * @param activity The activity displaying the download manager UI. 30 * @param activity The activity displaying the download manager UI.
27 * @param isIncognito Whether the activity is currently displaying an incogn ito tab. 31 * @param isIncognito Whether the activity is currently displaying an incogn ito tab.
28 */ 32 */
29 public DownloadSheetContent(Activity activity, final boolean isIncognito) { 33 public DownloadSheetContent(ChromeActivity activity, final boolean isIncogni to) {
30 ThreadUtils.assertOnUiThread(); 34 ThreadUtils.assertOnUiThread();
31 35
32 mDownloadManager = 36 mDownloadManager =
33 new DownloadManagerUi(activity, isIncognito, activity.getCompone ntName()); 37 new DownloadManagerUi(activity, isIncognito, activity.getCompone ntName(), false);
34 mContentView = mDownloadManager.detachContentView(); 38 mContentView = mDownloadManager.getView();
39 mToolbarView = mDownloadManager.detachToolbarView();
40 ((BottomToolbarPhone) activity.getToolbarManager().getToolbar())
41 .setOtherToolbarStyle(mToolbarView);
35 42
36 // #destroy() unregisters the ActivityStateListener to avoid checking fo r externally removed 43 // #destroy() unregisters the ActivityStateListener to avoid checking fo r externally removed
37 // downloads after the downloads UI is closed. This requires each downlo ad UI to have its 44 // downloads after the downloads UI is closed. This requires each downlo ad UI to have its
38 // own ActivityStateListener. If multiple tabs are showing the downloads page, multiple 45 // own ActivityStateListener. If multiple tabs are showing the downloads page, multiple
39 // requests to check for externally removed downloads will be issued whe n the activity is 46 // requests to check for externally removed downloads will be issued whe n the activity is
40 // resumed. 47 // resumed.
41 mActivityStateListener = new ActivityStateListener() { 48 mActivityStateListener = new ActivityStateListener() {
42 @Override 49 @Override
43 public void onActivityStateChange(Activity activity, int newState) { 50 public void onActivityStateChange(Activity activity, int newState) {
44 if (newState == ActivityState.RESUMED) { 51 if (newState == ActivityState.RESUMED) {
45 DownloadUtils.checkForExternallyRemovedDownloads( 52 DownloadUtils.checkForExternallyRemovedDownloads(
46 mDownloadManager.getBackendProvider(), isIncognito); 53 mDownloadManager.getBackendProvider(), isIncognito);
47 } 54 }
48 } 55 }
49 }; 56 };
50 ApplicationStatus.registerStateListenerForActivity(mActivityStateListene r, activity); 57 ApplicationStatus.registerStateListenerForActivity(mActivityStateListene r, activity);
51 } 58 }
52 59
53 @Override 60 @Override
54 public View getContentView() { 61 public View getContentView() {
55 return mContentView; 62 return mContentView;
56 } 63 }
57 64
58 @Override 65 @Override
59 public View getToolbarView() { 66 public View getToolbarView() {
60 return null; 67 return mToolbarView;
61 } 68 }
62 69
63 @Override 70 @Override
64 public int getVerticalScrollOffset() { 71 public int getVerticalScrollOffset() {
65 return mDownloadManager.getVerticalScrollOffset(); 72 return mDownloadManager.getVerticalScrollOffset();
66 } 73 }
67 74
68 @Override 75 @Override
69 public void destroy() { 76 public void destroy() {
70 mDownloadManager.onDestroyed(); 77 mDownloadManager.onDestroyed();
71 mDownloadManager = null; 78 mDownloadManager = null;
72 ApplicationStatus.unregisterActivityStateListener(mActivityStateListener ); 79 ApplicationStatus.unregisterActivityStateListener(mActivityStateListener );
73 } 80 }
74 } 81 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698