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.ntp; | 5 package org.chromium.chrome.browser.ntp; |
6 | 6 |
7 import android.app.Activity; | 7 import android.app.Activity; |
8 import android.content.res.Resources; | 8 import android.content.res.Resources; |
9 import android.graphics.Bitmap; | 9 import android.graphics.Bitmap; |
10 import android.graphics.drawable.BitmapDrawable; | 10 import android.graphics.drawable.BitmapDrawable; |
11 import android.graphics.drawable.Drawable; | 11 import android.graphics.drawable.Drawable; |
12 import android.text.TextUtils; | 12 import android.text.TextUtils; |
13 import android.util.LruCache; | 13 import android.util.LruCache; |
14 import android.view.ContextMenu; | 14 import android.view.ContextMenu; |
15 import android.view.LayoutInflater; | 15 import android.view.LayoutInflater; |
16 import android.view.MenuItem; | 16 import android.view.MenuItem; |
17 import android.view.MenuItem.OnMenuItemClickListener; | 17 import android.view.MenuItem.OnMenuItemClickListener; |
18 import android.view.View; | 18 import android.view.View; |
19 import android.view.ViewGroup; | 19 import android.view.ViewGroup; |
20 import android.widget.BaseExpandableListAdapter; | 20 import android.widget.BaseExpandableListAdapter; |
21 import android.widget.TextView; | 21 import android.widget.TextView; |
22 | 22 |
23 import org.chromium.base.ApiCompatibilityUtils; | 23 import org.chromium.base.ApiCompatibilityUtils; |
24 import org.chromium.base.metrics.RecordUserAction; | 24 import org.chromium.base.metrics.RecordUserAction; |
25 import org.chromium.chrome.R; | 25 import org.chromium.chrome.R; |
26 import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback; | 26 import org.chromium.chrome.browser.favicon.FaviconHelper.FaviconImageCallback; |
27 import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSession; | 27 import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSession; |
28 import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSessionTab; | 28 import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSessionTab; |
29 import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSessionWindow ; | 29 import org.chromium.chrome.browser.ntp.ForeignSessionHelper.ForeignSessionWindow ; |
30 import org.chromium.chrome.browser.ntp.RecentTabsPromoView.UserActionListener; | |
31 import org.chromium.chrome.browser.ntp.RecentlyClosedBridge.RecentlyClosedTab; | 30 import org.chromium.chrome.browser.ntp.RecentlyClosedBridge.RecentlyClosedTab; |
31 import org.chromium.chrome.browser.signin.SigninAccessPoint; | |
32 import org.chromium.chrome.browser.signin.SigninAndSyncView; | |
32 import org.chromium.ui.WindowOpenDisposition; | 33 import org.chromium.ui.WindowOpenDisposition; |
33 import org.chromium.ui.base.DeviceFormFactor; | 34 import org.chromium.ui.base.DeviceFormFactor; |
34 | 35 |
35 import java.util.ArrayList; | 36 import java.util.ArrayList; |
36 import java.util.List; | 37 import java.util.List; |
37 | 38 |
38 /** | 39 /** |
39 * Row adapter for presenting recently closed tabs, synced tabs from other devic es, the sync or | 40 * Row adapter for presenting recently closed tabs, synced tabs from other devic es, the sync or |
40 * sign in promo, and currently open tabs (only in document mode) in a grouped l ist view. | 41 * sign in promo, and currently open tabs (only in document mode) in a grouped l ist view. |
41 */ | 42 */ |
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
586 | 587 |
587 @Override | 588 @Override |
588 public Object getChild(int childPosition) { | 589 public Object getChild(int childPosition) { |
589 return null; | 590 return null; |
590 } | 591 } |
591 | 592 |
592 @Override | 593 @Override |
593 View getChildView(int childPosition, boolean isLastChild, View convertVi ew, | 594 View getChildView(int childPosition, boolean isLastChild, View convertVi ew, |
594 ViewGroup parent) { | 595 ViewGroup parent) { |
595 if (convertView == null) { | 596 if (convertView == null) { |
596 convertView = new RecentTabsPromoView( | 597 SigninAndSyncView.Listener listener = new SigninAndSyncView.List ener(){ |
Bernhard Bauer
2016/04/20 10:59:06
Nit: Space before opening brace.
PEConn
2016/04/25 11:21:23
Done.
| |
597 mActivity, mRecentTabsManager, new UserActionListener() { | 598 @Override |
598 @Override | 599 public void onViewDismissed() { |
599 public void onAccountSelectionConfirmed() { | 600 mRecentTabsManager.setSigninPromoDeclined(); |
600 RecordUserAction.record("Signin_Signin_FromRecen tTabs"); | 601 notifyDataSetChanged(); |
601 } | 602 } |
602 @Override | 603 }; |
603 public void onNewAccount() {} | 604 |
604 @Override | 605 convertView = |
605 public void onAccountSelectionCancelled() { | 606 new SigninAndSyncView(mActivity, listener, SigninAccessP oint.RECENT_TABS); |
606 mRecentTabsManager.setSigninPromoDeclined(); | |
607 notifyDataSetChanged(); | |
608 } | |
609 }); | |
610 } | 607 } |
611 if (!mRecentTabsManager.isSignedIn()) { | 608 if (!mRecentTabsManager.isSignedIn()) { |
612 RecordUserAction.record("Signin_Impression_FromRecentTabs"); | 609 RecordUserAction.record("Signin_Impression_FromRecentTabs"); |
613 } | 610 } |
614 return convertView; | 611 return convertView; |
615 } | 612 } |
616 | 613 |
617 @Override | 614 @Override |
618 public void configureChildView(int childPosition, ViewHolder viewHolder) { | 615 public void configureChildView(int childPosition, ViewHolder viewHolder) { |
619 } | 616 } |
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
852 @Override | 849 @Override |
853 public int getChildType(int groupPosition, int childPosition) { | 850 public int getChildType(int groupPosition, int childPosition) { |
854 return mGroups.get(groupPosition).getChildType().ordinal(); | 851 return mGroups.get(groupPosition).getChildType().ordinal(); |
855 } | 852 } |
856 | 853 |
857 @Override | 854 @Override |
858 public int getChildTypeCount() { | 855 public int getChildTypeCount() { |
859 return ChildType.values().length; | 856 return ChildType.values().length; |
860 } | 857 } |
861 } | 858 } |
OLD | NEW |