From a4de181717caf6f08c1239085a5b64795a6beca4 Mon Sep 17 00:00:00 2001 From: HaoThanhIT <124544255+thanhhaoPG@users.noreply.github.com> Date: Wed, 5 Jul 2023 16:13:51 +0700 Subject: [PATCH 1/5] Change header webview --- src/android/InAppBrowser.java | 233 ++++++++++++------ .../drawable-hdpi/ic_action_previous_item.png | Bin 599 -> 0 bytes .../res/drawable-hdpi/ic_action_remove.png | Bin 438 -> 0 bytes .../drawable-mdpi/ic_action_previous_item.png | Bin 438 -> 0 bytes .../res/drawable-mdpi/ic_action_remove.png | Bin 328 -> 0 bytes .../ic_action_previous_item.png | Bin 744 -> 0 bytes .../res/drawable-xhdpi/ic_action_remove.png | Bin 536 -> 0 bytes .../ic_action_previous_item.png | Bin 1038 -> 0 bytes .../res/drawable-xxhdpi/ic_action_remove.png | Bin 681 -> 0 bytes .../res/drawable/ic_action_previous_item.xml | 5 + src/android/res/drawable/ic_action_remove.xml | 5 + src/android/res/drawable/ic_lock_ssl.xml | 9 + 12 files changed, 183 insertions(+), 69 deletions(-) delete mode 100644 src/android/res/drawable-hdpi/ic_action_previous_item.png delete mode 100644 src/android/res/drawable-hdpi/ic_action_remove.png delete mode 100644 src/android/res/drawable-mdpi/ic_action_previous_item.png delete mode 100644 src/android/res/drawable-mdpi/ic_action_remove.png delete mode 100644 src/android/res/drawable-xhdpi/ic_action_previous_item.png delete mode 100644 src/android/res/drawable-xhdpi/ic_action_remove.png delete mode 100644 src/android/res/drawable-xxhdpi/ic_action_previous_item.png delete mode 100644 src/android/res/drawable-xxhdpi/ic_action_remove.png create mode 100644 src/android/res/drawable/ic_action_previous_item.xml create mode 100644 src/android/res/drawable/ic_action_remove.xml create mode 100644 src/android/res/drawable/ic_lock_ssl.xml diff --git a/src/android/InAppBrowser.java b/src/android/InAppBrowser.java index 76dc150cc..36ee045eb 100644 --- a/src/android/InAppBrowser.java +++ b/src/android/InAppBrowser.java @@ -17,6 +17,10 @@ Licensed to the Apache Software Foundation (ASF) under one under the License. */ package org.apache.cordova.inappbrowser; +import android.graphics.Typeface; +import android.text.TextUtils; +import android.util.Log; + import android.annotation.SuppressLint; import android.annotation.TargetApi; @@ -34,16 +38,12 @@ Licensed to the Apache Software Foundation (ASF) under one import android.net.Uri; import android.os.Build; import android.os.Bundle; -import android.text.InputType; import android.util.TypedValue; import android.view.Gravity; -import android.view.KeyEvent; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.view.WindowManager.LayoutParams; -import android.view.inputmethod.EditorInfo; -import android.view.inputmethod.InputMethodManager; import android.webkit.CookieManager; import android.webkit.HttpAuthHandler; import android.webkit.JavascriptInterface; @@ -55,7 +55,6 @@ Licensed to the Apache Software Foundation (ASF) under one import android.webkit.WebSettings; import android.webkit.WebView; import android.webkit.WebViewClient; -import android.widget.EditText; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.LinearLayout; @@ -81,6 +80,7 @@ Licensed to the Apache Software Foundation (ASF) under one import java.util.Arrays; import java.util.List; import java.util.HashMap; +import java.util.Map; import java.util.StringTokenizer; @SuppressLint("SetJavaScriptEnabled") @@ -123,7 +123,10 @@ public class InAppBrowser extends CordovaPlugin { private InAppBrowserDialog dialog; private WebView inAppWebView; - private EditText edittext; + private TextView tvLinkUrl; + + private TextView tvHeaderUrl; + private CallbackContext callbackContext; private boolean showLocationBar = true; private boolean showZoomControls = true; @@ -139,7 +142,7 @@ public class InAppBrowser extends CordovaPlugin { private String closeButtonCaption = ""; private String closeButtonColor = ""; private boolean leftToRight = false; - private int toolbarColor = android.graphics.Color.LTGRAY; + private int toolbarColor = Color.WHITE; private boolean hideNavigationButtons = false; private String navigationButtonColor = ""; private boolean hideUrlBar = false; @@ -159,6 +162,7 @@ public class InAppBrowser extends CordovaPlugin { * @return A PluginResult object with a status and message. */ public boolean execute(String action, CordovaArgs args, final CallbackContext callbackContext) throws JSONException { + Log.d("AN TEST", "action is: " + action); if (action.equals("open")) { this.callbackContext = callbackContext; final String url = args.getString(0); @@ -594,9 +598,9 @@ private void goForward() { * @param url to load */ private void navigate(String url) { - InputMethodManager imm = (InputMethodManager)this.cordova.getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); + /* InputMethodManager imm = (InputMethodManager)this.cordova.getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(edittext.getWindowToken(), 0); - +*/ if (!url.startsWith("http") && !url.startsWith("file:")) { this.inAppWebView.loadUrl("http://" + url); } else { @@ -747,7 +751,7 @@ private View createCloseButton(int id) { _close = close; } else { - ImageButton close = new ImageButton(cordova.getActivity()); + ImageView close = new ImageView(cordova.getActivity()); int closeResId = activityRes.getIdentifier("ic_action_remove", "drawable", cordova.getActivity().getPackageName()); Drawable closeIcon = activityRes.getDrawable(closeResId); if (closeButtonColor != "") close.setColorFilter(android.graphics.Color.parseColor(closeButtonColor)); @@ -802,7 +806,7 @@ public void run() { //Please, no more black! toolbar.setBackgroundColor(toolbarColor); toolbar.setLayoutParams(new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, this.dpToPixels(TOOLBAR_HEIGHT))); - toolbar.setPadding(this.dpToPixels(2), this.dpToPixels(2), this.dpToPixels(2), this.dpToPixels(2)); + toolbar.setPadding(this.dpToPixels(5), this.dpToPixels(0), this.dpToPixels(5), this.dpToPixels(0)); if (leftToRight) { toolbar.setHorizontalGravity(Gravity.LEFT); } else { @@ -812,7 +816,7 @@ public void run() { // Action Button Container layout RelativeLayout actionButtonContainer = new RelativeLayout(cordova.getActivity()); - RelativeLayout.LayoutParams actionButtonLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); + RelativeLayout.LayoutParams actionButtonLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); if (leftToRight) actionButtonLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_RIGHT); else actionButtonLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_LEFT); actionButtonContainer.setLayoutParams(actionButtonLayoutParams); @@ -821,9 +825,10 @@ public void run() { actionButtonContainer.setId(leftToRight ? Integer.valueOf(5) : Integer.valueOf(1)); // Back button - ImageButton back = new ImageButton(cordova.getActivity()); - RelativeLayout.LayoutParams backLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); + ImageView back = new ImageView(cordova.getActivity()); + RelativeLayout.LayoutParams backLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); backLayoutParams.addRule(RelativeLayout.ALIGN_LEFT); + backLayoutParams.addRule(RelativeLayout.CENTER_VERTICAL); back.setLayoutParams(backLayoutParams); back.setContentDescription("Back Button"); back.setId(Integer.valueOf(2)); @@ -834,7 +839,7 @@ public void run() { back.setBackground(null); back.setImageDrawable(backIcon); back.setScaleType(ImageView.ScaleType.FIT_CENTER); - back.setPadding(0, this.dpToPixels(10), 0, this.dpToPixels(10)); + // back.setPadding(0, this.dpToPixels(10), 0, this.dpToPixels(10)); back.getAdjustViewBounds(); back.setOnClickListener(new View.OnClickListener() { @@ -844,7 +849,7 @@ public void onClick(View v) { }); // Forward button - ImageButton forward = new ImageButton(cordova.getActivity()); + /* ImageButton forward = new ImageButton(cordova.getActivity()); RelativeLayout.LayoutParams forwardLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT); forwardLayoutParams.addRule(RelativeLayout.RIGHT_OF, 2); forward.setLayoutParams(forwardLayoutParams); @@ -863,30 +868,76 @@ public void onClick(View v) { public void onClick(View v) { goForward(); } - }); - - // Edit Text Box - edittext = new EditText(cordova.getActivity()); - RelativeLayout.LayoutParams textLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); - textLayoutParams.addRule(RelativeLayout.RIGHT_OF, 1); + });*/ + + + // ImageView Lock SSL + ImageView ivLockSsl = new ImageView(cordova.getActivity()); + RelativeLayout.LayoutParams lockSSLLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); + lockSSLLayoutParams.addRule(RelativeLayout.RIGHT_OF, 1); + lockSSLLayoutParams.addRule(RelativeLayout.CENTER_VERTICAL); + lockSSLLayoutParams.setMargins(this.dpToPixels(5), this.dpToPixels(0), this.dpToPixels(0), this.dpToPixels(0)); + ivLockSsl.setLayoutParams(lockSSLLayoutParams); + ivLockSsl.setContentDescription("Lock SLL Image"); + ivLockSsl.setId(Integer.valueOf(8)); + int lockSSLResId = activityRes.getIdentifier("ic_lock_ssl", "drawable", cordova.getActivity().getPackageName()); + Drawable lockSSLIcon = activityRes.getDrawable(lockSSLResId); + if (navigationButtonColor != "") ivLockSsl.setColorFilter(android.graphics.Color.parseColor(navigationButtonColor)); + ivLockSsl.setBackground(null); + ivLockSsl.setImageDrawable(lockSSLIcon); + ivLockSsl.setScaleType(ImageView.ScaleType.FIT_CENTER); + //ivLockSsl.setVisibility(View.GONE); + // ivLockSsl.setPadding(0, this.dpToPixels(10), 0, this.dpToPixels(10)); + ivLockSsl.getAdjustViewBounds(); + + // TextView Title Header URL + + tvHeaderUrl = new TextView(cordova.getActivity()); + RelativeLayout.LayoutParams textLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); + textLayoutParams.addRule(RelativeLayout.RIGHT_OF, 8); textLayoutParams.addRule(RelativeLayout.LEFT_OF, 5); - edittext.setLayoutParams(textLayoutParams); - edittext.setId(Integer.valueOf(4)); - edittext.setSingleLine(true); - edittext.setText(url); - edittext.setInputType(InputType.TYPE_TEXT_VARIATION_URI); - edittext.setImeOptions(EditorInfo.IME_ACTION_GO); - edittext.setInputType(InputType.TYPE_NULL); // Will not except input... Makes the text NON-EDITABLE - edittext.setOnKeyListener(new View.OnKeyListener() { - public boolean onKey(View v, int keyCode, KeyEvent event) { - // If the event is a key-down event on the "enter" button - if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { - navigate(edittext.getText().toString()); - return true; - } - return false; - } - }); + textLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); + textLayoutParams.setMargins(this.dpToPixels(5), this.dpToPixels(2), this.dpToPixels(5), this.dpToPixels(0)); + tvHeaderUrl.setLayoutParams(textLayoutParams); + tvHeaderUrl.setId(Integer.valueOf(9)); + tvHeaderUrl.setSingleLine(true); + // tvHeaderUrl.setText(url); + tvHeaderUrl.setTextColor(Color.BLACK); + tvHeaderUrl.setTextSize(18); + tvHeaderUrl.setTextAlignment(View.TEXT_ALIGNMENT_CENTER); + tvHeaderUrl.setTypeface(null, Typeface.BOLD); + tvHeaderUrl.setEllipsize(TextUtils.TruncateAt.END); + + // TextView Description link URL + tvLinkUrl = new TextView(cordova.getActivity()); + RelativeLayout.LayoutParams textLayoutParamsLink = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); + textLayoutParamsLink.addRule(RelativeLayout.RIGHT_OF, 8); + textLayoutParamsLink.addRule(RelativeLayout.LEFT_OF, 5); + textLayoutParamsLink.addRule(RelativeLayout.BELOW,9); + textLayoutParamsLink.setMargins(this.dpToPixels(5), this.dpToPixels(2), this.dpToPixels(5), this.dpToPixels(0)); + tvLinkUrl.setLayoutParams(textLayoutParamsLink); + tvLinkUrl.setId(Integer.valueOf(4)); + tvLinkUrl.setSingleLine(true); + tvLinkUrl.setTextAlignment(View.TEXT_ALIGNMENT_CENTER); + // tvLinkUrl.setText(url); + tvLinkUrl.setTextColor(Color.BLACK); + tvLinkUrl.setTextSize(11); + tvLinkUrl.setEllipsize(TextUtils.TruncateAt.END); + + + // edittext.setInputType(InputType.TYPE_TEXT_VARIATION_URI); + // edittext.setImeOptions(EditorInfo.IME_ACTION_GO); + // edittext.setInputType(InputType.TYPE_NULL); // Will not except input... Makes the text NON-EDITABLE +// edittext.setOnKeyListener(new View.OnKeyListener() { +// public boolean onKey(View v, int keyCode, KeyEvent event) { +// // If the event is a key-down event on the "enter" button +// if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) { +// navigate(edittext.getText().toString()); +// return true; +// } +// return false; +// } +// }); // Header Close/Done button @@ -918,10 +969,12 @@ public boolean onKey(View v, int keyCode, KeyEvent event) { inAppWebView = new WebView(cordova.getActivity()); inAppWebView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); inAppWebView.setId(Integer.valueOf(6)); + // File Chooser Implemented ChromeClient inAppWebView.setWebChromeClient(new InAppChromeClient(thatWebView) { public boolean onShowFileChooser (WebView webView, ValueCallback filePathCallback, WebChromeClient.FileChooserParams fileChooserParams) { + LOG.d(LOG_TAG, "File Chooser 5.0+"); // If callback exists, finish it. if(mUploadCallback != null) { @@ -938,8 +991,11 @@ public boolean onShowFileChooser (WebView webView, ValueCallback filePath cordova.startActivityForResult(InAppBrowser.this, Intent.createChooser(content, "Select File"), FILECHOOSER_REQUESTCODE); return true; } + + + }); - currentClient = new InAppBrowserClient(thatWebView, edittext, beforeload); + currentClient = new InAppBrowserClient(thatWebView,tvHeaderUrl, tvLinkUrl, beforeload,ivLockSsl); inAppWebView.setWebViewClient(currentClient); WebSettings settings = inAppWebView.getSettings(); settings.setJavaScriptEnabled(true); @@ -1006,11 +1062,14 @@ public void postMessage(String data) { // Add the back and forward buttons to our action button container layout actionButtonContainer.addView(back); - actionButtonContainer.addView(forward); + // actionButtonContainer.addView(forward); // Add the views to our toolbar if they haven't been disabled if (!hideNavigationButtons) toolbar.addView(actionButtonContainer); - if (!hideUrlBar) toolbar.addView(edittext); + if (!hideUrlBar) toolbar.addView(tvHeaderUrl); + if (!hideUrlBar) toolbar.addView(tvLinkUrl); + if (!hideUrlBar) toolbar.addView(ivLockSsl); + // Don't add the toolbar if its been disabled if (getShowLocationBar()) { @@ -1097,54 +1156,74 @@ public void onActivityResult(int requestCode, int resultCode, Intent intent) { * The webview client receives notifications about appView */ public class InAppBrowserClient extends WebViewClient { - EditText edittext; + TextView tvLinkUrl; + + + TextView tvHeaderUrl; CordovaWebView webView; String beforeload; boolean waitForBeforeload; + ImageView ivLockSsl; /** * Constructor. * * @param webView - * @param mEditText + * @param mTvHeader + * @param mTvLink */ - public InAppBrowserClient(CordovaWebView webView, EditText mEditText, String beforeload) { + public InAppBrowserClient(CordovaWebView webView,TextView mTvHeader, TextView mTvLink, String beforeload,ImageView mIvSsl) { this.webView = webView; - this.edittext = mEditText; + this.tvLinkUrl = mTvLink; + this.tvHeaderUrl = mTvHeader; + this.ivLockSsl=mIvSsl; this.beforeload = beforeload; this.waitForBeforeload = beforeload != null; } - /** - * Override the URL that should be loaded - * - * Legacy (deprecated in API 24) - * For Android 6 and below. - * - * @param webView - * @param url - */ + + @Override + public void doUpdateVisitedHistory(WebView view, String url, boolean isReload) { + tvHeaderUrl.setText(view.getTitle()); + tvLinkUrl.setText(url); + + super.doUpdateVisitedHistory(view, url, isReload); + } + + + +// * +// * Override the URL that should be loaded +// * +// * Legacy (deprecated in API 24) +// * For Android 6 and below. +// * +// * @param webView +// * @param url + @SuppressWarnings("deprecation") @Override public boolean shouldOverrideUrlLoading(WebView webView, String url) { + + return shouldOverrideUrlLoading(url, null); } - /** - * Override the URL that should be loaded - * - * New (added in API 24) - * For Android 7 and above. - * - * @param webView - * @param request - */ +// * +// * Override the URL that should be loaded +// * +// * New (added in API 24) +// * For Android 7 and above. +// * +// * @param webView +// * @param request + @TargetApi(Build.VERSION_CODES.N) @Override public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest request) { + return shouldOverrideUrlLoading(request.getUrl().toString(), request.getMethod()); } - /** * Override the URL that should be loaded * @@ -1154,6 +1233,8 @@ public boolean shouldOverrideUrlLoading(WebView webView, WebResourceRequest requ * @param method */ public boolean shouldOverrideUrlLoading(String url, String method) { + + boolean override = false; boolean useBeforeload = false; String errorMessage = null; @@ -1299,6 +1380,7 @@ private boolean sendBeforeLoad(String url, String method) { */ @Override public WebResourceResponse shouldInterceptRequest(WebView view, WebResourceRequest request) { + return shouldInterceptRequest(request.getUrl().toString(), super.shouldInterceptRequest(view, request), request.getMethod()); } @@ -1316,6 +1398,12 @@ public WebResourceResponse shouldInterceptRequest(String url, WebResourceRespons @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { super.onPageStarted(view, url, favicon); + + boolean hasSsl = url.toLowerCase().startsWith("https://"); + if(hasSsl){ + ivLockSsl.setVisibility(View.VISIBLE); + } + String newloc = ""; if (url.startsWith("http:") || url.startsWith("https:") || url.startsWith("file:")) { newloc = url; @@ -1329,9 +1417,9 @@ public void onPageStarted(WebView view, String url, Bitmap favicon) { } // Update the UI if we haven't already - if (!newloc.equals(edittext.getText().toString())) { - edittext.setText(newloc); - } +// if (!newloc.equals(tvLinkUrl.getText().toString())) { +// tvLinkUrl.setText(newloc); +// } try { JSONObject obj = new JSONObject(); @@ -1343,6 +1431,8 @@ public void onPageStarted(WebView view, String url, Bitmap favicon) { } } + + public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); @@ -1365,6 +1455,8 @@ public void onPageFinished(WebView view, String url) { } catch (JSONException ex) { LOG.d(LOG_TAG, "Should never happen"); } + + } public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { @@ -1386,6 +1478,10 @@ public void onReceivedError(WebView view, int errorCode, String description, Str @Override public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) { super.onReceivedSslError(view, handler, error); + + ivLockSsl.setVisibility(View.GONE); + //Hide Image security + try { JSONObject obj = new JSONObject(); obj.put("type", LOAD_ERROR_EVENT); @@ -1428,7 +1524,6 @@ public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError e */ @Override public void onReceivedHttpAuthRequest(WebView view, HttpAuthHandler handler, String host, String realm) { - // Check if there is some plugin which can resolve this auth challenge PluginManager pluginManager = null; try { diff --git a/src/android/res/drawable-hdpi/ic_action_previous_item.png b/src/android/res/drawable-hdpi/ic_action_previous_item.png deleted file mode 100644 index e861ecce9272c9c8192ff3935dc3445b3f8edd85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 599 zcmV-d0;v6oP)t91EdOD4Sj+@^zv0XTmRam(r!l+aCYZn=AYlfBU}9$P%RX`G3S#ZobXi~09O)yy z_h@xNFv?|&XZIb8t!Dh@ekK#%6En0)S$V{i% zY%aFj?ZY9#DlC*E@g#g;pq^aCrI-PTZ=ZYgT*a&S z#TG=aPQ>d5{Cm&_O7VJ;d|zah(XowJpT*q75U)EvZiYPrrFdQNsg2^5YNUH4);{@5 laDBZV5fKp)@xSpUzyOzByV diff --git a/src/android/res/drawable-hdpi/ic_action_remove.png b/src/android/res/drawable-hdpi/ic_action_remove.png deleted file mode 100644 index f889617e4471d6a0c65dd81a060bea482276b322..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438 zcmV;n0ZIOeP)uR$+`ZL}CL9iu4pv&~TPqL?R?{{9XWYPqIRgeD^;8#3vi0QmIrbmFkC- z=lNP%LWrBV*rEMwV3MsoHqsVpnjWjFdZ5h9V<&ATapw~E1PAb=v+=Jp6hzH@=Ksnh z?p@-Z`}Cg%jQ{`u07*qoM6N<$g0AVdX8-^I diff --git a/src/android/res/drawable-mdpi/ic_action_previous_item.png b/src/android/res/drawable-mdpi/ic_action_previous_item.png deleted file mode 100644 index 4ad2df42755874f331733cfab5ad0931d5baf0a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 438 zcmV;n0ZIOeP)F6XU^oF|V`EEF^)OP= z@&q6Sa=>FC?mK(->^EZcF;UUyFyG4pu`{uHnW$j70gy^S5_$~u{bss20BAYLxADl9 zgMyzFGngo_To_0d0WlX;2o&cFiH&=T900T&WN9Xv<)DQ3m{haK4S`H(VuOKIN}9B4HXgw@Cj>q2Ew4lGVMbE8VbLGzP<|0lB`f{0u;Ljl>0<;2S6S19b_TMVkAc>0>#dN z97vaJ2rYgWA_>VtD=6BB08&W203|{o(*P>O59Bif#c$EAAcEEf$C26udk3UcBd1Y1 g3P!PbXFRCwBAU>F6XU=$26V8kbBY;0@^ zq{4u>@9f#Lk4Z5Ys8<$96#?-opx)!S)G-k-2V^-H$RMbJq*~4eHG_d%2lN5)H&Psd zX8AX$88`tmKFR0LpMR2)lDYX-@nh*(FEV>wX{AjT2oT23$* zkPyFQSx&M8a5#d2T+4}$0s_&&O0MO^WJ8(*W-3I%Z(_12RUCjL5gsSDoS?`7xUw3l zg%w#2Ae7H3aRf7^mQ(5oW@=bYi6aPQLy}84s2Y@7l#+5_6*+|rnj=YcL aAiw|+C&DJQP0oz~0000P)0=8N@8J`wu9@%$5uRVrBx8ftW!IF~j%BBb>Mv#M(Z}`;z8v z>q~mycWuAdYfB}CLZMJ76bgkxAqlNkt4qaoJ9|ROcW^o9p9_@XY&P4tXlq{}`3#qf z++S6c<1|elR;$%})B=Ef9ha+ustQU55vIEqArVHtZwa}_Fj()p-9!laGA@@WWkbjU z!sO<7JdXAU71YH0fFF zu}1R+4Vfqf$l2o(x2L9_;L{$1Y>txc{lXr-h!AXdnC+1!y(2?N!-qWv-5#e@*pefB z+2hp3xd0IYlKW(J^?H-V`$EC#{tFG)(%n=#3M_NLk z8A7Tq<^xe@gjj?kd!*svWUE}@34V@t9P5IwAq?PUsz((uHG(SFn?P~L$y-sCAB98M`&=jFYBD)$Dt=Dzu!75(wV*}TUW0~lD*P>x|&Qd7_P_ms8#d44)Bd2C{&(UWzlACh z2h+J7JT|oGD;)@GGOaOW6cZBo;L18>N<)*r-hvhul|7veGMpI|#*EiJJ~Wt%evs#k z`(T)NVD|L*hR@nt*!TS8@Q~!>{+{sRLemKr5utrj6SlHuxN0~$If#cv2)meV+a%%C zt)<5#^dMHnC&XAtwAM4=^N6;oJNO3DF++P6=euvz@Yh2KA?RyjT2C~1{B@8Z!OR?g=u^>1hj z_@^A1Ecxr>f}d?`p480di?4S%CphygyLXa^10xFBaPo&p0z-;&MeJ|;OL4%cX7F_N Kb6Mw<&;$S^P}b@I diff --git a/src/android/res/drawable-xxhdpi/ic_action_previous_item.png b/src/android/res/drawable-xxhdpi/ic_action_previous_item.png deleted file mode 100644 index bc8ff1241ade1ac7ad40427f4843b84fac947e62..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1038 zcmV+p1o8WcP)mo zA`K~MkRSyq+|VX1EpADX!ubtpX-R2X{)3w|G(jRoT+p~M5_UmDVHa*Pqf8=#jI$FR zx|!vD(&-T1laBYiw{P!uE(8Do000000000000000fJA6En+=QS_547@@6xVYsZ?Gr zm&=)@b9;6G;5yEkAX@suJD;TiC?rQeVpkoe~${><9%@Z1CX%D6eP_#-l>|NT7R)*_qFEX2)Z z3?T74%D6eQ{ChHI;>$@{R;^sR=)*pDC&SwV2=Nay) zB5sa6#7!3lNZjlz4jFifo8}FWxY<|6P1oX^F+jPJff;*?o7Q_kH#l0!kdy(ka5gq> z&b`J>lLkoK>?q>qFeFBb3$tKAEHaSB4yM|O>Vm=-=W@XW7fwVD!p9biEK;}xjpZ62 zLt7q8q6g&I3m&*&f(PFoyy8#?wos z2`=KPn?h|dVXcU#JX@YvkEgCGOTo}PAv_Ple<6<}HMg*P=mGnQr>{fY zL;SMkIfCaWV#A=jh22IE$UmO)E$kCTGFlY*W|X81*f2p8PwUp=sr&Z@Nj$v`zaHkq z#M71}qk9;Tp9we0Ti7)#@idubDPC7tB=yQNiKi@XIik6V6&5Kj%o+tpD=d;TK#Dc^ z7Iw_t(7VWXxCH%2JpI=Si{I}Kn!|wo#nW9YEcg=jnZz&rnL*NT&fT%Xf(P9%R_e-< ze|Iz^H3&S|PExBc@MJ;*DgXcg00000000000001>2!0AM0Ol)zPaPAXwEzGB07*qo IM6N<$f+VNg^Z)<= diff --git a/src/android/res/drawable-xxhdpi/ic_action_remove.png b/src/android/res/drawable-xxhdpi/ic_action_remove.png deleted file mode 100644 index 331c545b8cb07a97ee63cb4f1256d1dba5557a82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 681 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGok|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+n7ln*978H@y_sX^mF+0u=KlZOu|s+fxN=%TuH_vu-63%O z0bh(`mh@(>)(|r>v-Oq66AmapP&R+I|NHM}^O&8P#J-=iwAdNbrpXGl5g7zooZfe! zXy=~Q^508s)?R;|&#w7(p8l)j$+D}f&aa<&y-Vlf4wmJ z{m;$!KDWm<)IWJYp?`yVy?a)Rgy+7R7WpU3-7WlQo&Q_^@0!|=9dkD{|8ah%BK}}y zUwJzR`>Fc-=T0VbW}WtqPP|eM_FyzT{_JE!R zD)mzsyaca2=@)ZQY+Cdukl9DlG4$UH#$_D~bm}KDB)bJnw~uTvRI)fR-^3w}Mf~Sv z_7fcsRN|EmXe#eGIi0hhi=*$;Ql>v@O{@PLixhm)QT}Dxr&MO1o`9IAr*$3O_1veg z`?Qpqrz1f--tK_DQpAbv90e{c(m#7YGyP$o^P)53LpC?loVb0lEiVH0g|-+>zh76d zzw5&@{nHH0@veKsKFU^vF}CfCD89*-Dfr;V_F3ly55?}QZh7Ijuejxf>%Q!k7oPi) zTVD9?i*9)lxG%WnMd&{7mKTxxoLgSR?yG8<(OmPC!%+O^D#0YbPom04?mSuT+F^Mr zylcW%?L%qnpM8_#v%0PH_*W!j7~dy$w}_iMj&Eb;mhJQVTeVv6|AD73EMLFabmp+t zH{}!WBYrC$Dt@-J@Me4I8>JZ0$#0vg1>-jHzhy>_Y6gY|m493Y3}5QcuZR|#@EIiM M>FVdQ&MBb@07pA8tN;K2 diff --git a/src/android/res/drawable/ic_action_previous_item.xml b/src/android/res/drawable/ic_action_previous_item.xml new file mode 100644 index 000000000..e6cce5983 --- /dev/null +++ b/src/android/res/drawable/ic_action_previous_item.xml @@ -0,0 +1,5 @@ + + + diff --git a/src/android/res/drawable/ic_action_remove.xml b/src/android/res/drawable/ic_action_remove.xml new file mode 100644 index 000000000..1258cb35c --- /dev/null +++ b/src/android/res/drawable/ic_action_remove.xml @@ -0,0 +1,5 @@ + + + diff --git a/src/android/res/drawable/ic_lock_ssl.xml b/src/android/res/drawable/ic_lock_ssl.xml new file mode 100644 index 000000000..965eae232 --- /dev/null +++ b/src/android/res/drawable/ic_lock_ssl.xml @@ -0,0 +1,9 @@ + + + From 716d94051a2d6334b6e5d9716806fb81a1f4670d Mon Sep 17 00:00:00 2001 From: HaoThanhIT <124544255+thanhhaoPG@users.noreply.github.com> Date: Wed, 5 Jul 2023 16:53:06 +0700 Subject: [PATCH 2/5] update icon --- .../res/drawable-hdpi/ic_action_previous_item.png | Bin 0 -> 314 bytes .../res/drawable-hdpi/ic_action_remove.png | Bin 0 -> 420 bytes src/android/res/drawable-hdpi/ic_lock_ssl.png | Bin 0 -> 475 bytes .../res/drawable-mdpi/ic_action_previous_item.png | Bin 0 -> 252 bytes .../res/drawable-mdpi/ic_action_remove.png | Bin 0 -> 311 bytes src/android/res/drawable-mdpi/ic_lock_ssl.png | Bin 0 -> 404 bytes .../drawable-xhdpi/ic_action_previous_item.png | Bin 0 -> 372 bytes .../res/drawable-xhdpi/ic_action_remove.png | Bin 0 -> 446 bytes src/android/res/drawable-xhdpi/ic_lock_ssl.png | Bin 0 -> 671 bytes .../drawable-xxhdpi/ic_action_previous_item.png | Bin 0 -> 492 bytes .../res/drawable-xxhdpi/ic_action_remove.png | Bin 0 -> 763 bytes src/android/res/drawable-xxhdpi/ic_lock_ssl.png | Bin 0 -> 875 bytes .../res/drawable/ic_action_previous_item.xml | 5 ----- src/android/res/drawable/ic_action_remove.xml | 5 ----- src/android/res/drawable/ic_lock_ssl.xml | 9 --------- 15 files changed, 19 deletions(-) create mode 100644 src/android/res/drawable-hdpi/ic_action_previous_item.png create mode 100644 src/android/res/drawable-hdpi/ic_action_remove.png create mode 100644 src/android/res/drawable-hdpi/ic_lock_ssl.png create mode 100644 src/android/res/drawable-mdpi/ic_action_previous_item.png create mode 100644 src/android/res/drawable-mdpi/ic_action_remove.png create mode 100644 src/android/res/drawable-mdpi/ic_lock_ssl.png create mode 100644 src/android/res/drawable-xhdpi/ic_action_previous_item.png create mode 100644 src/android/res/drawable-xhdpi/ic_action_remove.png create mode 100644 src/android/res/drawable-xhdpi/ic_lock_ssl.png create mode 100644 src/android/res/drawable-xxhdpi/ic_action_previous_item.png create mode 100644 src/android/res/drawable-xxhdpi/ic_action_remove.png create mode 100644 src/android/res/drawable-xxhdpi/ic_lock_ssl.png delete mode 100644 src/android/res/drawable/ic_action_previous_item.xml delete mode 100644 src/android/res/drawable/ic_action_remove.xml delete mode 100644 src/android/res/drawable/ic_lock_ssl.xml diff --git a/src/android/res/drawable-hdpi/ic_action_previous_item.png b/src/android/res/drawable-hdpi/ic_action_previous_item.png new file mode 100644 index 0000000000000000000000000000000000000000..b4f7f7922628da07f7551e5816502c640134802d GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC&H|6fVg?3oVGw3ym^DWND9BhG zWe0uobZ0V_fMIdM8r(}<*^3Lm~+pByD zp5`+>UT8+h&+FA!g>Uw;r2Gnxn9y*gLqg?a@0!U{g3UnY61O7?rb=uxIP99dWqI^ryBYSy=E*EfjEXG+PWM);c-E<~U-_(O z=~?B;t~~cie9>O-roAS+9`h^~l#z`|cA2$faeL$CBM-xrgPwl=Xjy#lns?B%H_SZ( z-;|4 ziR3ts2eWKrDPKSk(+~|*! zdZ9n%HV~k1zJ@>MXB5OMcsRhH9T?yWAVvysFJxL3rft?ZRJQMAGryE^bA`^pKnW~v zzEd@3?girn&(RFf^!(;35PJZ^=`l^C(xd>=qyPi#v_5d20%;cc0@Lm@1mDG{f&FM{ zJ4#N`&G^3X(@|F*P@j`I7BW|z-BFUOzFEeA>t-V4Xg-m6WKNl$XK8Ze4u|LTquX3>W!lfv!I}Fa1@{{J?{NgT?k$K4Kb2CR$ z?I%M^mkX!&-U)JIDL<9nv0!@rwm+|;FF5mT+}p~P^g_sgx`slVwUFeI3#u_n(_Gf< uT(Egb;@pX6S-m@6s-@iDqTKo2fZ>Zy-aemqjthZ~WAJqKb6Mw<&;$Uwwpnrj literal 0 HcmV?d00001 diff --git a/src/android/res/drawable-mdpi/ic_action_remove.png b/src/android/res/drawable-mdpi/ic_action_remove.png new file mode 100644 index 0000000000000000000000000000000000000000..20f7e988a1fa16bfc68ea7556b1b3e52f9e25f42 GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?3oVGw3ym^DWND9BhG zjfyaxO^^hJG5qx+o3%*{*NXU zxj7~DY|+`@pssa()`aSZS^tHfJxvo@>hHTo)$6JK8I`P4XH{l=dM4x-xKI6|qk+b0 zZy{xlXRj|W(YZfqM!Dq#i<-5zUv^BfKJhzYd9g-*;F^=-`p=6Sfc|3eboFyt=akR{ E0J(a0e*gdg literal 0 HcmV?d00001 diff --git a/src/android/res/drawable-mdpi/ic_lock_ssl.png b/src/android/res/drawable-mdpi/ic_lock_ssl.png new file mode 100644 index 0000000000000000000000000000000000000000..874a220ed6a026d66096f499555a0ca519fbffd3 GIT binary patch literal 404 zcmV;F0c-w=P)$BLg~?}iM-^8Pzv{R>0Jx( zWd@Luu%@h;zQ3?iR*uMwSqIj=MmrWE62v-J0;>C~Wo(QHq(+bouk@GZ%*-4R7;5?P z%$S!TAZz2p)G%*m%v+-cL$rhR^@iq^elng<5YPY&13~dM5S)?Yd4gy9%XF&pnmgVp zOOW*3oOOgJg!h{7BJbX?2^hSwD(coij7~Q3G4L^Z16>TLuD4*V5aAqU#$bxF$*1>AV6vWI^YH!=^N3{8psiz y!e_FoX|>8j9!SU*$n|fSp!=^@4#AP^e|P{j$cZZeWDV&60000``W z$lZxy-8q?;Kn_c~qpu?a!^VE@KZ&eBIZjU($B+ufx3ll&9&!+1Q(vi|y2Qk)(|Q3* zzLW>|ONA*Dq=FnD^_B=JEOh3WuygLjedhbm%#d%)6`07Lu=`ExqBE!KroYvYSa@=K zZBR$@&uufA=1j`JU8FiMQeJcaOPSAy7koKala~}Q#r@}GZZ_A-DdBNo%=T2~r)+c4 zx<3>Cf70mxbV?hDr%(UCY{wsM?dO+XGx?wR&p%^RexqB!59bYn5(hav6Ihg08U=eM zu(%mG34KvM!{dh{0#b6JzhJBMlIva<`ac|d!19+vxLNql$Eh2RJ!dsLeb4&%lpT74 zB7fa(s9Q|=zd)h#Sn$8@L+APYM5c-FRIESv{?g0(&M%(8Kw|K8^>bP0l+XkKk7|^= literal 0 HcmV?d00001 diff --git a/src/android/res/drawable-xhdpi/ic_action_remove.png b/src/android/res/drawable-xhdpi/ic_action_remove.png new file mode 100644 index 0000000000000000000000000000000000000000..4bc9226fcb4d9b15affb30f8e71e8f7ca5755ed0 GIT binary patch literal 446 zcmV;v0YUzWP)cOyXDHHrX=)w9FL|jO6#3WKB7`}4 zxeC;nYpxl>5_$Ci?h6Lc2w|yws1}Me34`nvLW=wVgC{}iKwCnv?3LYM*~(iCn7zE9 zF=#RJ!kz;cCok+Vc(L-r7J=gBg*778$P1}LRmlq}Ayg+X>=i+e+;?)9Cp1R;(AHU^`fZjWpURVBd)i`nga&P zYIC%Mt-O%U_IM9_c_E7f5_19Ma75+-MQ%7wUYHA^g(7F}t@_KH%@PPpdG(SX~(2 z`KKB2o`teye8>OQmW83C7BaeDdVLFsH!K9fKhf#s(9q2buH!!8zho|+do3cdHHg?L2=Qp#Q z3=Qsy?^aw{Wr)N};^7*V7>k>;<2xY|QyY*yF%4KG)c^{ocmrNB4xR9}bY-n8;)v7s zJ+~o_@ATZ8C!dd2Uvb|tqN69jrN}XrP9&%sgsk)DmSI9pK%2QvOoRd2h3JkzhTH{~ z^rTn30m0Mx~_Oq|Shb=SNxF?ny{W1I|{T1LBS(+$)sQfbRohk0c`3+hDSVS4smm z17d|lq%=TB)da-tSg8TZp8wwlA4o`Q1B7l<)Yj2v`ZggUb36(Q-AV82gY4pTVQ01BrXK;f*_fJ_)iwYC002ovPDHLk FV1h^)F0lXr literal 0 HcmV?d00001 diff --git a/src/android/res/drawable-xxhdpi/ic_action_previous_item.png b/src/android/res/drawable-xxhdpi/ic_action_previous_item.png new file mode 100644 index 0000000000000000000000000000000000000000..4dc8fc5b43a3f8e2a6e7cc3a0c0afb2b9c47c0c7 GIT binary patch literal 492 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9GG!XV7ZFl&wkP>``W z$lZxy-8q?;Kn_c~qpu?a!^VE@KZ&eBxkgVH$B+ufw|DRQG6gcYJiN%I(|ArsyO~d? zQAnpTNJPl9#v!%7|Ip7#w-3xzRguo~Q1RSl?=Sf5X9eH!&7EQ8UH|`8$|R=7Kej$} zO7E!s{Ov#HZdft@k@cZN>pJW0ZfAr!KT=kp%wrB562^Hf>ov}-qn#X9%8s|FJf5`-W$~f3!=~i=KV@V|IpV i@5jR4kE))#^5p|lth--6w2A~q4uhwwpUXO@geCwnF3dpy literal 0 HcmV?d00001 diff --git a/src/android/res/drawable-xxhdpi/ic_action_remove.png b/src/android/res/drawable-xxhdpi/ic_action_remove.png new file mode 100644 index 0000000000000000000000000000000000000000..64c69fbdcf0df7e0fed7be419641dfc8a56ad948 GIT binary patch literal 763 zcmeAS@N?(olHy`uVBq!ia0vp^2_VeD1|%QND7OGooCO|{#S9GG!XV7ZFl&wkP>``W z$lZxy-8q?;Kn_c~qpu?a!^VE@KZ&di3``R|T^vIy7~kGGTPW-(aP*`7gocw3S`SQI zytA-b`Q`#14#!gs0tzff4w5q#=cg@yv(iXmP5;ch?;`idhlZ~_6?*B*>#L_Gg)yfg zz_zmWFWzUZ@(-@9*->kKRsUGXwf}Xiw)1cImfx-tD)u9F)o$jkbG>>Nf7$f-zFpq3 zUp`K$2kk9o>ehZLpE%#*-s$j3H$Q%9a+hqfkgHqE>)CNxY)&o5qc0y`zkJcfa;p2S zY%;&&9Pzrf*;0F#+?77JeC580$sCV9ZS8QgW!v!FNU4q^E9NjS=akP6Vx3**_8m!G zKKHolBn|hA9?k-9ALe^Lnev@6vQ6Pwvaf#3XRu=8u<-d`rQPdV$ldo1P@|x}K3gBh+tbVi@mGeDC|Jj(?74 z3+Jy^`^9?g^S*ha7u7A=?>lT^fAK-ObB3bDANM1hoC|)iccivG_%L7LnQYTx`^FjR z9DM(I7QGjc`N!%qUvUZF{^PBY+nf$9Utn-Z|4?Gfe_meYKW;ibAKV2KTkLzdmH!l$ zNIcX}ImA(~D(Uva`=`O7=}TJ#_ZevSd|29<*rI=qSGlILO5&k>MvLIT&LAM;WvgJN zw5Yax(~0{FB3=p{vFPoz%l6$E8N4-l&0?=D{E6N|Nozi6U$kpU+^*Bjw_hmN`G><| zIq|gEDv>wKtByal&ilF{Kjv_@(2le{%K!5pZAw36$~h(7;ih%&l@Hp5_XIBGL`UXG zSpV^wW7ooa@(qY3Bk#0pZTD*4cJckHH>Ia5ANg``W z$lZxy-8q?;Kn_c~qpu?a!^VE@KZ&di49pCkE{-7;jBoFrExha?!S+BrL&3ezo0U^` z1+zsFvsQ=o0a+DUl@JCQOHKE@Lahla8Fmy3?^ZUfXp6A_{r&B)>iIMCjU+2`GUGE< zy`v-*l$6%aTOilF_VdU0t!p=LoHKvhw`AKJyQI6BcC!6Tc-_9XF12)9UXJ92taT69 zZ`gOSU$i;mp-^4+pGmrpbTfj^Z2cDz+xYMCt~p{arT^z|{jr@{{Ymbh!vaTan{BSE z?m1{x&C@>fe$Lxt|Lbp8^*!ZjTl+v;q`JM-`l9Z#-F(LT(zidVH4iwI5b3;AS!ur8 zt%REwr&RZz`g>4!+S;#d|9Gagu6cLjghK6O`MPV91VVCIx6gPl#`DN<#{0f)0V#RC zJ{yzoB-oXRN}VaUU3rG}zQX3^C)UrLxzE)~K7CodL!= zxtG4B&YHXTyL*;6rX}4fU$TAnjA?%ZLX;X-ww@_e`IMbBtBc_U1GB&}h89DHL>>nT z2(v->%8gyecD>%Tbh@=`QS+hq>$+>L6IX`5d3t)~~W)i3ilSh4zH zQdqNtVPDg>3$IO?j&eMZsoLwbK*D)S)eEsJZGV*1dKfv984gJ_7_cc|VQ!FO-f`IA z&I{Hy;ly=ux2pOR4{WpAsaK~Xt8Zg2rc>5=dh3GhHvXO0msLFJy~R-De(L!Q^TL(l z8=Cihx4#QyC%@_Aa-|4knA7uM|Sh)tViUT7(HX>M3Vwbr8ZA&-9bY)$d@`1&H5 z%^lz)^HPg4bPZRY#Jng}>jW6c!F_NfT_G-$u4nF6@=D>ss d1YBR()ovB=9Qg7o6qq*{JYD@<);T3K0RU5Ic`X0{ literal 0 HcmV?d00001 diff --git a/src/android/res/drawable/ic_action_previous_item.xml b/src/android/res/drawable/ic_action_previous_item.xml deleted file mode 100644 index e6cce5983..000000000 --- a/src/android/res/drawable/ic_action_previous_item.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/src/android/res/drawable/ic_action_remove.xml b/src/android/res/drawable/ic_action_remove.xml deleted file mode 100644 index 1258cb35c..000000000 --- a/src/android/res/drawable/ic_action_remove.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/src/android/res/drawable/ic_lock_ssl.xml b/src/android/res/drawable/ic_lock_ssl.xml deleted file mode 100644 index 965eae232..000000000 --- a/src/android/res/drawable/ic_lock_ssl.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - From 13097d5212da0ce12bf9ebce4800b79f38abd330 Mon Sep 17 00:00:00 2001 From: HaoThanhIT <124544255+thanhhaoPG@users.noreply.github.com> Date: Thu, 6 Jul 2023 08:14:18 +0700 Subject: [PATCH 3/5] Update plugin.xml --- plugin.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/plugin.xml b/plugin.xml index d061c700e..77b61e2ca 100644 --- a/plugin.xml +++ b/plugin.xml @@ -66,6 +66,11 @@ + + + + + From a572586934f900d1e573f89a4a04f2ac17668d24 Mon Sep 17 00:00:00 2001 From: hackermasterlord <126839836+hackermasterlord@users.noreply.github.com> Date: Mon, 8 Jan 2024 13:54:30 +0700 Subject: [PATCH 4/5] Update --- src/android/InAppBrowser.java | 47 ++++++++++++++---- .../res/drawable-hdpi/ic_action_remove.png | Bin 420 -> 1211 bytes .../res/drawable-mdpi/ic_action_remove.png | Bin 311 -> 1211 bytes .../res/drawable-xhdpi/ic_action_remove.png | Bin 446 -> 1211 bytes .../res/drawable-xxhdpi/ic_action_remove.png | Bin 763 -> 1211 bytes 5 files changed, 37 insertions(+), 10 deletions(-) diff --git a/src/android/InAppBrowser.java b/src/android/InAppBrowser.java index 36ee045eb..8d95179d5 100644 --- a/src/android/InAppBrowser.java +++ b/src/android/InAppBrowser.java @@ -125,6 +125,8 @@ public class InAppBrowser extends CordovaPlugin { private WebView inAppWebView; private TextView tvLinkUrl; + private ImageView faviconView; + private TextView tvHeaderUrl; private CallbackContext callbackContext; @@ -782,6 +784,7 @@ public void onClick(View v) { @SuppressLint("NewApi") public void run() { + Log.d("AN TEST", "785"); // CB-6702 InAppBrowser hangs when opening more than one instance if (dialog != null) { dialog.dismiss(); @@ -876,7 +879,7 @@ public void onClick(View v) { RelativeLayout.LayoutParams lockSSLLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); lockSSLLayoutParams.addRule(RelativeLayout.RIGHT_OF, 1); lockSSLLayoutParams.addRule(RelativeLayout.CENTER_VERTICAL); - lockSSLLayoutParams.setMargins(this.dpToPixels(5), this.dpToPixels(0), this.dpToPixels(0), this.dpToPixels(0)); + lockSSLLayoutParams.setMargins(this.dpToPixels(5), this.dpToPixels(0), this.dpToPixels(10), this.dpToPixels(0)); ivLockSsl.setLayoutParams(lockSSLLayoutParams); ivLockSsl.setContentDescription("Lock SLL Image"); ivLockSsl.setId(Integer.valueOf(8)); @@ -890,21 +893,31 @@ public void onClick(View v) { // ivLockSsl.setPadding(0, this.dpToPixels(10), 0, this.dpToPixels(10)); ivLockSsl.getAdjustViewBounds(); + // Image View favicon + ImageView ivFavicon = new ImageView(cordova.getActivity()); + RelativeLayout.LayoutParams ivFaviconLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); + ivFaviconLayoutParams.addRule(RelativeLayout.RIGHT_OF, 1); + ivFaviconLayoutParams.addRule(RelativeLayout.CENTER_VERTICAL); + ivFaviconLayoutParams.setMargins(this.dpToPixels(5), this.dpToPixels(0), this.dpToPixels(10), this.dpToPixels(0)); + ivFaviconLayoutParams.width = this.dpToPixels(20); + ivFavicon.setLayoutParams(ivFaviconLayoutParams); + ivFavicon.setId(Integer.valueOf(8)); + // TextView Title Header URL tvHeaderUrl = new TextView(cordova.getActivity()); RelativeLayout.LayoutParams textLayoutParams = new RelativeLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); textLayoutParams.addRule(RelativeLayout.RIGHT_OF, 8); textLayoutParams.addRule(RelativeLayout.LEFT_OF, 5); - textLayoutParams.addRule(RelativeLayout.ALIGN_PARENT_TOP); + textLayoutParams.addRule(RelativeLayout.CENTER_IN_PARENT); textLayoutParams.setMargins(this.dpToPixels(5), this.dpToPixels(2), this.dpToPixels(5), this.dpToPixels(0)); tvHeaderUrl.setLayoutParams(textLayoutParams); tvHeaderUrl.setId(Integer.valueOf(9)); tvHeaderUrl.setSingleLine(true); // tvHeaderUrl.setText(url); tvHeaderUrl.setTextColor(Color.BLACK); - tvHeaderUrl.setTextSize(18); - tvHeaderUrl.setTextAlignment(View.TEXT_ALIGNMENT_CENTER); + tvHeaderUrl.setTextSize(13); + tvHeaderUrl.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START ); tvHeaderUrl.setTypeface(null, Typeface.BOLD); tvHeaderUrl.setEllipsize(TextUtils.TruncateAt.END); @@ -969,6 +982,7 @@ public void onClick(View v) { inAppWebView = new WebView(cordova.getActivity()); inAppWebView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); inAppWebView.setId(Integer.valueOf(6)); + inAppWebView.setId(Integer.valueOf(6)); // File Chooser Implemented ChromeClient inAppWebView.setWebChromeClient(new InAppChromeClient(thatWebView) { @@ -992,9 +1006,18 @@ public boolean onShowFileChooser (WebView webView, ValueCallback filePath return true; } + @Override + public void onReceivedIcon(WebView view, Bitmap icon) { + ivFavicon.setImageBitmap(icon); + super.onReceivedIcon(view, icon); + } - + @Override + public void onReceivedTitle(WebView view, String title) { + tvHeaderUrl.setText(title); + } }); + currentClient = new InAppBrowserClient(thatWebView,tvHeaderUrl, tvLinkUrl, beforeload,ivLockSsl); inAppWebView.setWebViewClient(currentClient); WebSettings settings = inAppWebView.getSettings(); @@ -1065,10 +1088,11 @@ public void postMessage(String data) { // actionButtonContainer.addView(forward); // Add the views to our toolbar if they haven't been disabled - if (!hideNavigationButtons) toolbar.addView(actionButtonContainer); + // if (!hideNavigationButtons) toolbar.addView(actionButtonContainer); if (!hideUrlBar) toolbar.addView(tvHeaderUrl); - if (!hideUrlBar) toolbar.addView(tvLinkUrl); - if (!hideUrlBar) toolbar.addView(ivLockSsl); + toolbar.addView((ivFavicon)); + //if (!hideUrlBar) toolbar.addView(tvLinkUrl); + //if (!hideUrlBar) toolbar.addView(ivLockSsl); // Don't add the toolbar if its been disabled @@ -1176,16 +1200,16 @@ public InAppBrowserClient(CordovaWebView webView,TextView mTvHeader, TextView mT this.webView = webView; this.tvLinkUrl = mTvLink; this.tvHeaderUrl = mTvHeader; - this.ivLockSsl=mIvSsl; + this.ivLockSsl = mIvSsl; this.beforeload = beforeload; this.waitForBeforeload = beforeload != null; } - @Override public void doUpdateVisitedHistory(WebView view, String url, boolean isReload) { tvHeaderUrl.setText(view.getTitle()); tvLinkUrl.setText(url); + Log.d("AN TEST", "Title: " + view.getFavicon()); super.doUpdateVisitedHistory(view, url, isReload); } @@ -1397,6 +1421,9 @@ public WebResourceResponse shouldInterceptRequest(String url, WebResourceRespons */ @Override public void onPageStarted(WebView view, String url, Bitmap favicon) { + if(favicon != null) { + Log.d("AN TEST", "Co icon"); + } super.onPageStarted(view, url, favicon); boolean hasSsl = url.toLowerCase().startsWith("https://"); diff --git a/src/android/res/drawable-hdpi/ic_action_remove.png b/src/android/res/drawable-hdpi/ic_action_remove.png index bcb551c20b3fe9060637bdaa651d1fed88f62631..8d671171f60b636dbd4130201fcba1e64361760f 100644 GIT binary patch delta 1197 zcmV;e1XBB?1G@<}iBL{Q4GJ0x0000DNk~Le0000;0000;2nGNE09Ea?M*si-32;bR za{vG#H~;`4H~~eLF<_B4AAbZ;Nkle~-YiLM3R_J3_{_;b~_Ma656 z(TF-6KJJ7r1X04KZyV4FiNVOCsGZ^CVw4obF09_ec$=rNkXmj=pt?b}Z@WxzUYaK3#;bAM%GL|=yvM$)0=K&c=a zA3#Tt6R?ux&{Xh*-6cg5|Ixb;jE$sSEaj^8eav$_F^6;<&g2A6#ylrsLvoNbf}TKM zgfde8;9{OgjU(s<=jF# zxsn|04|-vCRM7)a$Ab@Hf`1(1Cg>DpaF~24AD5F#N{R|)y8=B#j`-(RMQj+p0V!i5C;?geE`RQQJY%k@PO~j1!t$ zTaByT7Lk?$b|eQ$BZ%`yVbQk~9(x046LeOE=V&CQu2I^DaH>c%v&vA`&Ta%rJQ2&P zoRZkBI31O;fa?{6Rf0xP_=DP9L`jwdy8v^}5`XltYl#~ZZBCa^&P!x$aLHY1A0(}yf8CAUijkAG`zKcr36e-(5;qevb57Pi4RYDG zLvH;-v+U1oJ5;F+bzHKSy67quMhyqDz1~naO5KtvB&@Gqhh5iWl(42UkC^jJV_P^y zu>#j5bV}gujpLEl3Df>!fv|Ue8RNfLAbhF7EEmX?N~Kb%RQkz(WU&B{6}}YR00000 LNkvXXu0mjfb~-2C delta 400 zcmdnZxrEuQGr-TCmrII^fq{Y7)59eQNE?7K2OE$KXZqO=q&N#aB8wRqxP?KOkzv*x ziHT)uFfl5&2sqtat>Rgy!hYqmo~37%C%f|8C-Fsly_@!$?0U?z zSWrebCfQ}yj>YYbmybLQQx1Ci`J-j=!E4?@&)zWi2-JU5E_%wD+;X?$?rH6$-yLaB zMK{*DeE!rGVRy*4(sfFIL3o_tPr*E(Jr;;PRT2Kkpk{SR7Y*wA0$hPPa_LZp$^T^%lDx_cZnI_Sd+aSRog$vVW5P nmBJ}|JoP00{j~>ro5MJ-(Qo78ZgTe~DWM4f5#p(5 diff --git a/src/android/res/drawable-mdpi/ic_action_remove.png b/src/android/res/drawable-mdpi/ic_action_remove.png index 20f7e988a1fa16bfc68ea7556b1b3e52f9e25f42..8d671171f60b636dbd4130201fcba1e64361760f 100644 GIT binary patch delta 1197 zcmV;e1XBCA0=o$|iBL{Q4GJ0x0000DNk~Le0000;0000;2nGNE09Ea?M*si-32;bR za{vG#H~;`4H~~eLF<_B4AAbZ;Nkle~-YiLM3R_J3_{_;b~_Ma656 z(TF-6KJJ7r1X04KZyV4FiNVOCsGZ^CVw4obF09_ec$=rNkXmj=pt?b}Z@WxzUYaK3#;bAM%GL|=yvM$)0=K&c=a zA3#Tt6R?ux&{Xh*-6cg5|Ixb;jE$sSEaj^8eav$_F^6;<&g2A6#ylrsLvoNbf}TKM zgfde8;9{OgjU(s<=jF# zxsn|04|-vCRM7)a$Ab@Hf`1(1Cg>DpaF~24AD5F#N{R|)y8=B#j`-(RMQj+p0V!i5C;?geE`RQQJY%k@PO~j1!t$ zTaByT7Lk?$b|eQ$BZ%`yVbQk~9(x046LeOE=V&CQu2I^DaH>c%v&vA`&Ta%rJQ2&P zoRZkBI31O;fa?{6Rf0xP_=DP9L`jwdy8v^}5`XltYl#~ZZBCa^&P!x$aLHY1A0(}yf8CAUijkAG`zKcr36e-(5;qevb57Pi4RYDG zLvH;-v+U1oJ5;F+bzHKSy67quMhyqDz1~naO5KtvB&@Gqhh5iWl(42UkC^jJV_P^y zu>#j5bV}gujpLEl3Df>!fv|Ue8RNfLAbhF7EEmX?N~Kb%RQkz(WU&B{6}}YR00000 LNkvXXu0mjf%4H|; delta 290 zcmdnZxt+JJ?aG){X9DRVq~eR+w_{Yf**Ehkvi mthN2JV~X{O-wDf$HSz=3oD|o8UfclmFN3G6pUXO@geCwUTyjGI diff --git a/src/android/res/drawable-xhdpi/ic_action_remove.png b/src/android/res/drawable-xhdpi/ic_action_remove.png index 4bc9226fcb4d9b15affb30f8e71e8f7ca5755ed0..8d671171f60b636dbd4130201fcba1e64361760f 100644 GIT binary patch delta 1197 zcmV;e1XBCH1G@<}iBL{Q4GJ0x0000DNk~Le0000;0000;2nGNE09Ea?M*si-32;bR za{vG#H~;`4H~~eLF<_B4AAbZ;Nkle~-YiLM3R_J3_{_;b~_Ma656 z(TF-6KJJ7r1X04KZyV4FiNVOCsGZ^CVw4obF09_ec$=rNkXmj=pt?b}Z@WxzUYaK3#;bAM%GL|=yvM$)0=K&c=a zA3#Tt6R?ux&{Xh*-6cg5|Ixb;jE$sSEaj^8eav$_F^6;<&g2A6#ylrsLvoNbf}TKM zgfde8;9{OgjU(s<=jF# zxsn|04|-vCRM7)a$Ab@Hf`1(1Cg>DpaF~24AD5F#N{R|)y8=B#j`-(RMQj+p0V!i5C;?geE`RQQJY%k@PO~j1!t$ zTaByT7Lk?$b|eQ$BZ%`yVbQk~9(x046LeOE=V&CQu2I^DaH>c%v&vA`&Ta%rJQ2&P zoRZkBI31O;fa?{6Rf0xP_=DP9L`jwdy8v^}5`XltYl#~ZZBCa^&P!x$aLHY1A0(}yf8CAUijkAG`zKcr36e-(5;qevb57Pi4RYDG zLvH;-v+U1oJ5;F+bzHKSy67quMhyqDz1~naO5KtvB&@Gqhh5iWl(42UkC^jJV_P^y zu>#j5bV}gujpLEl3Df>!fv|Ue8RNfLAbhF7EEmX?N~Kb%RQkz(WU&B{6}}YR00000 LNkvXXu0mjf@60Fo delta 426 zcmV;b0agCH3BCh1iBL{Q4GJ0x0000DNk~Le0000$0000$2nGNE0IF$m-T(jq32;bR za{vGf6951U69E94oEVWdAAbQ;Nkl^(F43#md?$qOkVR3|U&6+)5n!qyOqmKWBBP=&mZ8iJYp2}B*&e*xDwLD!E#*Dpe@ zUxi(N47vUscD*3tdTU9{^`fZjWpURVBd)i`nga&PYIC%Mt-O%U_IM9_c_E7f5_19M za75+-MQ%7wUYHA^g(7Fe~-YiLM3R_J3_{_;b~_Ma656 z(TF-6KJJ7r1X04KZyV4FiNVOCsGZ^CVw4obF09_ec$=rNkXmj=pt?b}Z@WxzUYaK3#;bAM%GL|=yvM$)0=K&c=a zA3#Tt6R?ux&{Xh*-6cg5|Ixb;jE$sSEaj^8eav$_F^6;<&g2A6#ylrsLvoNbf}TKM zgfde8;9{OgjU(s<=jF# zxsn|04|-vCRM7)a$Ab@Hf`1(1Cg>DpaF~24AD5F#N{R|)y8=B#j`-(RMQj+p0V!i5C;?geE`RQQJY%k@PO~j1!t$ zTaByT7Lk?$b|eQ$BZ%`yVbQk~9(x046LeOE=V&CQu2I^DaH>c%v&vA`&Ta%rJQ2&P zoRZkBI31O;fa?{6Rf0xP_=DP9L`jwdy8v^}5`XltYl#~ZZBCa^&P!x$aLHY1A0(}yf8CAUijkAG`zKcr36e-(5;qevb57Pi4RYDG zLvH;-v+U1oJ5;F+bzHKSy67quMhyqDz1~naO5KtvB&@Gqhh5iWl(42UkC^jJV_P^y zu>#j5bV}gujpLEl3Df>!fv|Ue8RNfLAbhF7EEmX?N~Kb%RQkz(WU&B{6}}YR00000 LNkvXXu0mjf7JDc+ delta 746 zcmV$iBL{Q4GJ0x0000DNk~Le0001B0001B2nGNE0OFW;H~;_u32;bR za{vGf6951U69E94oEVWdAAbUnNklK5nM^OhRSB zKRFzJt@3w~pE%yjSCZNB^nynjf;b+2tqn*?r<1j>u;9b*qcoELtr zYZ|?z-5buQslJh82;%a!h(>fXMwM_)vl4k4R-&~mO2jv=1ZxN- z;sOxQJp4*5AB1rDe-O(BvgBh8Ma&<}5|1%7F<(G)-uJ4A{z1)gpQ|SN1=jPvo)yt2 zIEUXrv Date: Thu, 25 Jan 2024 14:09:57 +0700 Subject: [PATCH 5/5] change button x-> pool wallet -add resource --- plugin.xml | 12 ++++++++++++ .../res/drawable-hdpi/ic_back_edittext.png | Bin 0 -> 218 bytes .../res/drawable-mdpi/ic_back_edittext.png | Bin 0 -> 218 bytes .../res/drawable-xhdpi/ic_back_edittext.png | Bin 0 -> 266 bytes .../res/drawable-xxhdpi/ic_back_edittext.png | Bin 0 -> 266 bytes src/android/res/drawable/bg_back_button.xml | 5 +++++ src/android/res/drawable/bg_continue.xml | 5 +++++ src/android/res/drawable/bg_stay.xml | 5 +++++ 8 files changed, 27 insertions(+) create mode 100644 src/android/res/drawable-hdpi/ic_back_edittext.png create mode 100644 src/android/res/drawable-mdpi/ic_back_edittext.png create mode 100644 src/android/res/drawable-xhdpi/ic_back_edittext.png create mode 100644 src/android/res/drawable-xxhdpi/ic_back_edittext.png create mode 100644 src/android/res/drawable/bg_back_button.xml create mode 100644 src/android/res/drawable/bg_continue.xml create mode 100644 src/android/res/drawable/bg_stay.xml diff --git a/plugin.xml b/plugin.xml index 77b61e2ca..820f5bf90 100644 --- a/plugin.xml +++ b/plugin.xml @@ -71,6 +71,18 @@ + + + + + + + + + + + + diff --git a/src/android/res/drawable-hdpi/ic_back_edittext.png b/src/android/res/drawable-hdpi/ic_back_edittext.png new file mode 100644 index 0000000000000000000000000000000000000000..d56b5caf490e7d94aa81429afc74e0ee22201007 GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^Ahrkx8<5=cZcP}F;w*8o|0J>k`T3qMjv*C{y=QLoHYo74KCDWLI6d`-!<_?D zd!m0Txa|>Gu=KCIhoZdd_TMvk8kJbN-K=;e{x3-o+0N(oSt+4lzvUTcw$mF9DQDV7 z-272`X~AKS(}rsq#Y*}&C`g8NwDV*wZ1B3_D5<6K)a*WczWA9id*3&%2R8w&X7F_N Kb6Mw<&;$Tb&PbO4 literal 0 HcmV?d00001 diff --git a/src/android/res/drawable-mdpi/ic_back_edittext.png b/src/android/res/drawable-mdpi/ic_back_edittext.png new file mode 100644 index 0000000000000000000000000000000000000000..d56b5caf490e7d94aa81429afc74e0ee22201007 GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^Ahrkx8<5=cZcP}F;w*8o|0J>k`T3qMjv*C{y=QLoHYo74KCDWLI6d`-!<_?D zd!m0Txa|>Gu=KCIhoZdd_TMvk8kJbN-K=;e{x3-o+0N(oSt+4lzvUTcw$mF9DQDV7 z-272`X~AKS(}rsq#Y*}&C`g8NwDV*wZ1B3_D5<6K)a*WczWA9id*3&%2R8w&X7F_N Kb6Mw<&;$Tb&PbO4 literal 0 HcmV?d00001 diff --git a/src/android/res/drawable-xhdpi/ic_back_edittext.png b/src/android/res/drawable-xhdpi/ic_back_edittext.png new file mode 100644 index 0000000000000000000000000000000000000000..612a71f87487068f5ccedf986eb7b297601b436b GIT binary patch literal 266 zcmeAS@N?(olHy`uVBq!ia0vp^{6H+n!3HEh$GDULDb50q$YKTtMGFvSbe(3H02E{_ z4sv&5Sa(k5C6L3C?&#~tz_78O`%fY(kU!tk#WAFUaqijMyv+tYtq+4&C#_v~gsp{l zSJ2h96%X_r0+Ws(cXQhL;&=1A`}`bz365QCPkyj77p-SvJXx0F&?T&-a5XsH;fl1o z! + + + + \ No newline at end of file diff --git a/src/android/res/drawable/bg_continue.xml b/src/android/res/drawable/bg_continue.xml new file mode 100644 index 000000000..ee285538a --- /dev/null +++ b/src/android/res/drawable/bg_continue.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/android/res/drawable/bg_stay.xml b/src/android/res/drawable/bg_stay.xml new file mode 100644 index 000000000..c6bfcb61e --- /dev/null +++ b/src/android/res/drawable/bg_stay.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file