Chromium Code Reviews| Index: chrome/android/java/src/org/chromium/chrome/browser/history/HistoryAdapter.java |
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryAdapter.java b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryAdapter.java |
| index 70487af91c97dcef3c76af6252276d0fe8513667..bd861651893470235e03eafd316b5993d812a1b2 100644 |
| --- a/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryAdapter.java |
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/history/HistoryAdapter.java |
| @@ -12,13 +12,17 @@ import android.view.View; |
| import android.view.View.OnClickListener; |
| import android.view.ViewGroup; |
| import android.widget.Button; |
| +import android.widget.FrameLayout; |
| import android.widget.TextView; |
| import org.chromium.base.ContextUtils; |
| import org.chromium.base.VisibleForTesting; |
| import org.chromium.chrome.R; |
| import org.chromium.chrome.browser.history.HistoryProvider.BrowsingHistoryObserver; |
| +import org.chromium.chrome.browser.preferences.PrefServiceBridge; |
| import org.chromium.chrome.browser.widget.DateDividedAdapter; |
| +import org.chromium.chrome.browser.widget.DateDividedAdapter.DateViewHolder; |
| +import org.chromium.chrome.browser.widget.displaystyle.MarginResizer; |
| import org.chromium.chrome.browser.widget.selection.SelectableItemViewHolder; |
| import org.chromium.chrome.browser.widget.selection.SelectionDelegate; |
| import org.chromium.chrome.browser.widget.selection.SelectionDelegate.SelectionObserver; |
| @@ -42,12 +46,13 @@ public class HistoryAdapter extends DateDividedAdapter implements BrowsingHistor |
| private final SelectionDelegate<HistoryItem> mSelectionDelegate; |
| private final HistoryProvider mHistoryProvider; |
| - private final HistoryManager mManager; |
| + private final HistoryManager mHistoryManager; |
| private TextView mSignedInNotSyncedTextView; |
| private TextView mSignedInSyncedTextView; |
| private TextView mOtherFormsOfBrowsingHistoryTextView; |
| private Button mClearBrowsingDataButton; |
| + private FrameLayout mClearBrowsingDataButtonContainer; |
| private boolean mHasOtherFormsOfBrowsingData; |
| private boolean mHasSyncedData; |
| @@ -63,13 +68,15 @@ public class HistoryAdapter extends DateDividedAdapter implements BrowsingHistor |
| private final ArrayList<HistoryItemView> mItemViews; |
|
gone
2017/01/27 18:48:52
Move this up to the other private final things, th
Theresa
2017/01/27 23:34:45
Done.
|
| + private int mTextDefaultMargin; |
| + |
| public HistoryAdapter(SelectionDelegate<HistoryItem> delegate, HistoryManager manager, |
| HistoryProvider provider) { |
| setHasStableIds(true); |
| mSelectionDelegate = delegate; |
| mHistoryProvider = provider; |
| mHistoryProvider.setObserver(this); |
| - mManager = manager; |
| + mHistoryManager = manager; |
| mItemViews = new ArrayList<>(); |
| } |
| @@ -164,6 +171,7 @@ public class HistoryAdapter extends DateDividedAdapter implements BrowsingHistor |
| for (HistoryItemView itemView : mItemViews) { |
| itemView.onSignInStateChange(); |
| } |
| + updateClearBrowsingDataButtonVisibility(); |
| } |
| /** |
| @@ -195,12 +203,12 @@ public class HistoryAdapter extends DateDividedAdapter implements BrowsingHistor |
| SelectableItemViewHolder<HistoryItem> holder = |
| (SelectableItemViewHolder<HistoryItem>) current; |
| holder.displayItem(item); |
| - ((HistoryItemView) holder.itemView).setHistoryManager(mManager); |
| + ((HistoryItemView) holder.itemView).setHistoryManager(mHistoryManager); |
| } |
| @Override |
| protected int getTimedItemViewResId() { |
| - return R.layout.date_view; |
| + return R.layout.history_date_view; |
| } |
| @Override |
| @@ -250,26 +258,45 @@ public class HistoryAdapter extends DateDividedAdapter implements BrowsingHistor |
| R.layout.history_header, parent, false); |
| mIsHeaderInflated = true; |
| + if (mTextDefaultMargin == 0) { |
| + mTextDefaultMargin = parent.getResources().getDimensionPixelSize( |
| + R.dimen.history_text_default_margin); |
| + } |
| + |
| mClearBrowsingDataButton = (Button) v.findViewById(R.id.clear_browsing_data_button); |
| mClearBrowsingDataButton.setOnClickListener(new OnClickListener() { |
| @Override |
| public void onClick(View v) { |
| - mManager.openClearBrowsingDataPreference(); |
| + mHistoryManager.openClearBrowsingDataPreference(); |
| } |
| }); |
| + mClearBrowsingDataButtonContainer = (FrameLayout) mClearBrowsingDataButton.getParent(); |
| + MarginResizer.createWithViewAdapter(mClearBrowsingDataButtonContainer, |
| + mHistoryManager.getSelectableListLayout().getUiConfig(), |
| + mHistoryManager.getDefaultLateralListItemMarginPx(), 0); |
| + updateClearBrowsingDataButtonVisibility(); |
| mSignedInNotSyncedTextView = (TextView) v.findViewById(R.id.signed_in_not_synced); |
| setPrivacyDisclaimerText(mSignedInNotSyncedTextView, |
| R.string.android_history_no_synced_results, LEARN_MORE_LINK); |
| + MarginResizer.createWithViewAdapter(mSignedInNotSyncedTextView, |
| + mHistoryManager.getSelectableListLayout().getUiConfig(), |
| + mTextDefaultMargin, mHistoryManager.getListItemLateralShadowSizePx()); |
| mSignedInSyncedTextView = (TextView) v.findViewById(R.id.signed_in_synced); |
| setPrivacyDisclaimerText(mSignedInSyncedTextView, |
| R.string.android_history_has_synced_results, LEARN_MORE_LINK); |
| + MarginResizer.createWithViewAdapter(mSignedInSyncedTextView, |
| + mHistoryManager.getSelectableListLayout().getUiConfig(), |
| + mTextDefaultMargin, mHistoryManager.getListItemLateralShadowSizePx()); |
| mOtherFormsOfBrowsingHistoryTextView = (TextView) v.findViewById( |
| R.id.other_forms_of_browsing_history); |
| setPrivacyDisclaimerText(mOtherFormsOfBrowsingHistoryTextView, |
| R.string.android_history_other_forms_of_history, GOOGLE_HISTORY_LINK); |
| + MarginResizer.createWithViewAdapter(mOtherFormsOfBrowsingHistoryTextView, |
| + mHistoryManager.getSelectableListLayout().getUiConfig(), |
| + mTextDefaultMargin, mHistoryManager.getListItemLateralShadowSizePx()); |
| setPrivacyDisclaimerVisibility(); |
| @@ -282,11 +309,25 @@ public class HistoryAdapter extends DateDividedAdapter implements BrowsingHistor |
| R.layout.indeterminate_progress_view, parent, false)); |
| } |
| + @Override |
| + protected DateViewHolder createDateViewHolder(ViewGroup parent) { |
| + if (mTextDefaultMargin == 0) { |
| + mTextDefaultMargin = parent.getResources().getDimensionPixelSize( |
| + R.dimen.history_text_default_margin); |
| + } |
|
gone
2017/01/27 18:48:52
Pull this and the other version up top out into a
Theresa
2017/01/27 23:34:45
Done.
|
| + |
| + DateViewHolder viewHolder = super.createDateViewHolder(parent); |
| + MarginResizer.createWithViewAdapter(viewHolder.itemView, |
| + mHistoryManager.getSelectableListLayout().getUiConfig(), |
| + mTextDefaultMargin, mHistoryManager.getListItemLateralShadowSizePx()); |
| + return viewHolder; |
| + } |
| + |
| private void setPrivacyDisclaimerText(TextView view, int stringId, final String url) { |
| NoUnderlineClickableSpan link = new NoUnderlineClickableSpan() { |
| @Override |
| public void onClick(View view) { |
| - mManager.openUrl(url, null, true); |
| + mHistoryManager.openUrl(url, null, true); |
| } |
| }; |
| SpannableString spannable = SpanApplier.applySpans( |
| @@ -308,6 +349,12 @@ public class HistoryAdapter extends DateDividedAdapter implements BrowsingHistor |
| mHasOtherFormsOfBrowsingData ? View.VISIBLE : View.GONE); |
| } |
| + private void updateClearBrowsingDataButtonVisibility() { |
| + mClearBrowsingDataButtonContainer.setVisibility( |
| + !PrefServiceBridge.getInstance().canDeleteBrowsingHistory() ? View.GONE : |
| + View.VISIBLE); |
| + } |
| + |
| @VisibleForTesting |
| TextView getSignedInNotSyncedViewForTests() { |
| return mSignedInNotSyncedTextView; |