cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CB-11578) InAppBrowser doesn't open on Android 4.0.4 (regression)
Date Thu, 14 Jul 2016 14:58:20 GMT
Andrew created CB-11578:
---------------------------

             Summary: InAppBrowser doesn't open on Android 4.0.4 (regression)
                 Key: CB-11578
                 URL: https://issues.apache.org/jira/browse/CB-11578
             Project: Apache Cordova
          Issue Type: Bug
          Components: Plugin InAppBrowser
    Affects Versions: 1.4.0
         Environment: Likely affects all pre-Jelly Bean Android devices.  Tested on Android
4.0.4 with a Samsung Galaxy phone (Samsung-SGH-I437).
            Reporter: Andrew


Some changes made as part of the 1.4.0 release prevent the InAppBrowser from opening on my
Android 4.0.4 test device.  I traced the problem to some code that appears to have been refactored/removed
when it shouldn't have been (setBackground/setBackgroundDrawable calls) and a call to getAdjustViewBounds
which doesn't appear to serve any purpose but it is a method that was only made available
at API level 16 (Jelly Bean).  

I made the following changes to the latest code in the repository to fix this problem:


diff --git a/src/android/InAppBrowser.java b/src/android/InAppBrowser.java
index 30915dc..f1e8222 100644
--- a/src/android/InAppBrowser.java
+++ b/src/android/InAppBrowser.java
@@ -579,11 +579,18 @@ public class InAppBrowser extends CordovaPlugin {
                 Resources activityRes = cordova.getActivity().getResources();
                 int backResId = activityRes.getIdentifier("ic_action_previous_item", "drawable",
cordova.getActivity().getPackageName());
                 Drawable backIcon = activityRes.getDrawable(backResId);
-                back.setBackground(null);
+
+                if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN)
+                {
+                    back.setBackgroundDrawable(null);
+                }
+                else
+                {
+                    back.setBackground(null);
+                }
                 back.setImageDrawable(backIcon);
                 back.setScaleType(ImageView.ScaleType.FIT_CENTER);
                 back.setPadding(0, this.dpToPixels(10), 0, this.dpToPixels(10));
-                back.getAdjustViewBounds();
 
                 back.setOnClickListener(new View.OnClickListener() {
                     public void onClick(View v) {
@@ -600,11 +607,18 @@ public class InAppBrowser extends CordovaPlugin {
                 forward.setId(Integer.valueOf(3));
                 int fwdResId = activityRes.getIdentifier("ic_action_next_item", "drawable",
cordova.getActivity().getPackageName());
                 Drawable fwdIcon = activityRes.getDrawable(fwdResId);
-                forward.setBackground(null);
+
+                if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN)
+                {
+                    forward.setBackgroundDrawable(null);
+                }
+                else
+                {
+                    forward.setBackground(null);
+                }
                 forward.setImageDrawable(fwdIcon);
                 forward.setScaleType(ImageView.ScaleType.FIT_CENTER);
                 forward.setPadding(0, this.dpToPixels(10), 0, this.dpToPixels(10));
-                forward.getAdjustViewBounds();
 
                 forward.setOnClickListener(new View.OnClickListener() {
                     public void onClick(View v) {
@@ -644,11 +658,18 @@ public class InAppBrowser extends CordovaPlugin {
                 close.setId(Integer.valueOf(5));
                 int closeResId = activityRes.getIdentifier("ic_action_remove", "drawable",
cordova.getActivity().getPackageName());
                 Drawable closeIcon = activityRes.getDrawable(closeResId);
-                close.setBackground(null);
+
+                if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN)
+                {
+                    close.setBackgroundDrawable(null);
+                }
+                else
+                {
+                    close.setBackground(null);
+                }
                 close.setImageDrawable(closeIcon);
                 close.setScaleType(ImageView.ScaleType.FIT_CENTER);
                 back.setPadding(0, this.dpToPixels(10), 0, this.dpToPixels(10));
-                close.getAdjustViewBounds();
 
                 close.setOnClickListener(new View.OnClickListener() {
                     public void onClick(View v) {




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message