From a15b29094e643e3bcbdfb7bfb59a67d2739eff60 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Thu, 29 Sep 2022 17:12:47 -0400 Subject: [PATCH] Update bookmark widget Fix crash of searchbar and qr code scanner in widget resolve bookmarl widget UI Address year in copyright string --- android/brave_java_resources.gni | 3 +- .../omnibox/BraveLocationBarMediator.java | 5 +- .../BraveLocationBarQRDialogFragment.java | 4 +- .../browser/shields/BraveShieldsHandler.java | 14 +++--- .../toolbar/top/BraveToolbarLayoutImpl.java | 2 +- ...ActionSearchAndBookmarkWidgetProvider.java | 2 +- .../utils/BraveSearchWidgetUtils.java | 4 +- android/java/res/layout/bookmark_widget.xml | 16 +++++++ .../java/res/layout/bookmark_widget_item.xml | 47 +++++++++++++++++++ .../res/layout/layout_search_widget_promo.xml | 4 +- ...tion_search_and_bookmark_widget_layout.xml | 4 +- 11 files changed, 86 insertions(+), 19 deletions(-) create mode 100644 android/java/res/layout/bookmark_widget.xml create mode 100644 android/java/res/layout/bookmark_widget_item.xml diff --git a/android/brave_java_resources.gni b/android/brave_java_resources.gni index 59aa37a3100..e0d856012bd 100644 --- a/android/brave_java_resources.gni +++ b/android/brave_java_resources.gni @@ -610,8 +610,8 @@ brave_java_resources = [ "java/res/drawable/ic_search.xml", "java/res/drawable/ic_search_21dp.xml", "java/res/drawable/ic_search_vector.xml", - "java/res/drawable/ic_send_tip.xml", "java/res/drawable/ic_search_widget_promotion_icon.xml", + "java/res/drawable/ic_send_tip.xml", "java/res/drawable/ic_server_selection_check.xml", "java/res/drawable/ic_settings.xml", "java/res/drawable/ic_settings_dapps.xml", @@ -735,6 +735,7 @@ brave_java_resources = [ "java/res/layout/application_item_layout.xml", "java/res/layout/approve_tx_bottom_sheet.xml", "java/res/layout/block_cookie_consent_notices_tooltip.xml", + "java/res/layout/bookmark_widget_item.xml", "java/res/layout/bottom_toolbar.xml", "java/res/layout/bottom_toolbar_browsing.xml", "java/res/layout/bottom_toolbar_menu_button.xml", diff --git a/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarMediator.java b/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarMediator.java index 68dadbeb998..7702c40fa06 100644 --- a/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarMediator.java +++ b/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarMediator.java @@ -12,6 +12,7 @@ import android.os.Build; import android.view.View; import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; import org.chromium.base.BraveReflectionUtil; import org.chromium.base.supplier.BooleanSupplier; @@ -163,12 +164,12 @@ public class BraveLocationBarMediator extends LocationBarMediator { } private void openQRCodeDialog() { - if (BraveActivity.getBraveActivity() != null) { + if (mContext != null && mContext instanceof AppCompatActivity) { BraveLocationBarQRDialogFragment braveLocationBarQRDialogFragment = BraveLocationBarQRDialogFragment.newInstance(this); braveLocationBarQRDialogFragment.setCancelable(false); braveLocationBarQRDialogFragment.show( - BraveActivity.getBraveActivity().getSupportFragmentManager(), + ((AppCompatActivity) mContext).getSupportFragmentManager(), "BraveLocationBarQRDialogFragment"); } } diff --git a/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarQRDialogFragment.java b/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarQRDialogFragment.java index 3cbb1c3b3f1..5ca56b86382 100644 --- a/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarQRDialogFragment.java +++ b/android/java/org/chromium/chrome/browser/omnibox/BraveLocationBarQRDialogFragment.java @@ -37,7 +37,7 @@ import org.chromium.chrome.browser.qrreader.BarcodeTracker; import org.chromium.chrome.browser.qrreader.BarcodeTrackerFactory; import org.chromium.chrome.browser.qrreader.CameraSource; import org.chromium.chrome.browser.qrreader.CameraSourcePreview; -import org.chromium.chrome.browser.util.TabUtils; +import org.chromium.ui.base.PageTransition; import java.io.IOException; @@ -218,7 +218,7 @@ public class BraveLocationBarQRDialogFragment final String barcodeValue = barcode.displayValue; getActivity().runOnUiThread(() -> { if (URLUtil.isValidUrl(barcodeValue)) { - TabUtils.openUrlInSameTab(barcodeValue); + mLocationBarMediator.loadUrl(barcodeValue, PageTransition.GENERATED, 0); mLocationBarMediator.clearOmniboxFocus(); } else { mLocationBarMediator.performSearchQuery(barcodeValue, null); diff --git a/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java b/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java index a717d939185..ac7d3ae8792 100644 --- a/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java +++ b/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java @@ -180,9 +180,12 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal } } - public void loadDisconnectEntityList() { + public void loadDisconnectEntityList(Context context) { + if (context == null) return; try { - JSONObject obj = new JSONObject(loadDisconnectEntityJSONFromAsset()); + String jsonString = loadDisconnectEntityJSONFromAsset(context); + if (jsonString == null) return; + JSONObject obj = new JSONObject(jsonString); JSONObject entities = obj.getJSONObject("entities"); Iterator keysItr = entities.keys(); while (keysItr.hasNext()) { @@ -192,8 +195,6 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal JSONArray jsonResources = ((JSONObject) value).getJSONArray("resources"); for (int i = 0; i < jsonResources.length(); i++) { - // Pair resourceCompanyName = new Pair(jsonResources.getString(i), key); mResourceToCompanyNameList.add(new Pair(jsonResources.getString(i), key)); } } @@ -204,9 +205,10 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal } } - private String loadDisconnectEntityJSONFromAsset() { + private String loadDisconnectEntityJSONFromAsset(Context context) { + if (context == null) return null; String json = null; - try (InputStream inputStream = mContext.getAssets().open("disconnect_entitylist.json")) { + try (InputStream inputStream = context.getAssets().open("disconnect_entitylist.json")) { int size = inputStream.available(); byte[] buffer = new byte[size]; inputStream.read(buffer); diff --git a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java index ddeaf847f99..e3d9fc1fea3 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java +++ b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayoutImpl.java @@ -279,7 +279,7 @@ public abstract class BraveToolbarLayoutImpl extends ToolbarLayout if (!mBraveShieldsHandler.isDisconnectEntityLoaded && !BraveShieldsUtils.hasShieldsTooltipShown( BraveShieldsUtils.PREF_SHIELDS_TOOLTIP)) { - mBraveShieldsHandler.loadDisconnectEntityList(); + mBraveShieldsHandler.loadDisconnectEntityList(getContext()); } mBraveShieldsHandler.addObserver(new BraveShieldsMenuObserver() { @Override diff --git a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java index 95acbcbde51..22432e7c435 100644 --- a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java +++ b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/QuickActionSearchAndBookmarkWidgetProvider.java @@ -1,4 +1,4 @@ -/* Copyright (c) 2020 The Brave Authors. All rights reserved. +/* Copyright (c) 2022 The Brave Authors. All rights reserved. * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this file, * You can obtain one at http://mozilla.org/MPL/2.0/. */ diff --git a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/utils/BraveSearchWidgetUtils.java b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/utils/BraveSearchWidgetUtils.java index 7a464f5cd09..324764a2730 100644 --- a/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/utils/BraveSearchWidgetUtils.java +++ b/android/java/org/chromium/chrome/browser/widget/quickactionsearchandbookmark/utils/BraveSearchWidgetUtils.java @@ -1,5 +1,5 @@ /* - Copyright (c) 2021 The Brave Authors. All rights reserved. + Copyright (c) 2022 The Brave Authors. All rights reserved. This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. @@ -61,4 +61,4 @@ public class BraveSearchWidgetUtils { } } } -} \ No newline at end of file +} diff --git a/android/java/res/layout/bookmark_widget.xml b/android/java/res/layout/bookmark_widget.xml new file mode 100644 index 00000000000..226b79a1e93 --- /dev/null +++ b/android/java/res/layout/bookmark_widget.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/android/java/res/layout/bookmark_widget_item.xml b/android/java/res/layout/bookmark_widget_item.xml new file mode 100644 index 00000000000..d58f6e3cdb4 --- /dev/null +++ b/android/java/res/layout/bookmark_widget_item.xml @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + diff --git a/android/java/res/layout/layout_search_widget_promo.xml b/android/java/res/layout/layout_search_widget_promo.xml index c9350b3c5e8..28349a8bd87 100644 --- a/android/java/res/layout/layout_search_widget_promo.xml +++ b/android/java/res/layout/layout_search_widget_promo.xml @@ -1,5 +1,5 @@ - @@ -584,4 +584,4 @@ android:textSize="12sp" /> - \ No newline at end of file +