Bug 1386975 - Part 2: Fix Robocop/Mochitest-chrome errors when Photon is enabled. r=maliu,nalexander,sebastian draft
authorJing-wei Wu <topwu.tw@gmail.com>
Tue, 08 Aug 2017 10:40:36 +0800
changeset 642407 a963060986941e8518a1e278c6699cfe18549212
parent 642393 0fe6d2e7f49d3c59ceb13c88109061d5a69fce68
child 724980 4df8df1a88416ac5d0ffdc36845e861393bb4754
push id72732
push userbmo:topwu.tw@gmail.com
push dateTue, 08 Aug 2017 05:18:35 +0000
reviewersmaliu, nalexander, sebastian
bugs1386975
milestone57.0a1
Bug 1386975 - Part 2: Fix Robocop/Mochitest-chrome errors when Photon is enabled. r=maliu,nalexander,sebastian MozReview-Commit-ID: FszicKMWywf
mobile/android/app/src/australis/java/org/mozilla/gecko/toolbar/TabCounter.java
mobile/android/app/src/photon/java/org/mozilla/gecko/toolbar/TabCounter.java
mobile/android/app/src/photon/res/layout/tab_strip_item_view.xml
mobile/android/tests/browser/robocop/src/org/mozilla/gecko/FennecNativeElement.java
mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/components/ToolbarComponent.java
--- a/mobile/android/app/src/australis/java/org/mozilla/gecko/toolbar/TabCounter.java
+++ b/mobile/android/app/src/australis/java/org/mozilla/gecko/toolbar/TabCounter.java
@@ -13,16 +13,17 @@ import org.mozilla.gecko.widget.themed.T
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.util.AttributeSet;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.animation.AlphaAnimation;
 import android.view.animation.AnimationSet;
+import android.widget.TextView;
 import android.widget.ViewSwitcher;
 
 public class TabCounter extends ThemedTextSwitcher
                         implements ViewSwitcher.ViewFactory {
 
     private static final float CENTER_X = 0.5f;
     private static final float CENTER_Y = 1.25f;
     private static final int DURATION = 500;
@@ -70,16 +71,20 @@ public class TabCounter extends ThemedTe
             setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
             setAccessibilityDelegate(new View.AccessibilityDelegate() {
                     @Override
                     public void onInitializeAccessibilityNodeInfo(View host, AccessibilityNodeInfo info) {}
                 });
         }
     }
 
+    public CharSequence getText() {
+        return ((TextView) getCurrentView()).getText();
+    }
+
     void setCountWithAnimation(int count) {
         // Don't animate from initial state
         if (mCount == 0) {
             setCount(count);
             return;
         }
 
         if (mCount == count) {
--- a/mobile/android/app/src/photon/java/org/mozilla/gecko/toolbar/TabCounter.java
+++ b/mobile/android/app/src/photon/java/org/mozilla/gecko/toolbar/TabCounter.java
@@ -46,16 +46,20 @@ public class TabCounter extends ThemedRe
 
         box = (ThemedFrameLayout) findViewById(R.id.counter_box);
         bar = (ThemedFrameLayout) findViewById(R.id.counter_bar);
         text = (ThemedTextView) findViewById(R.id.counter_text);
 
         animationSet = createAnimatorSet();
     }
 
+    public CharSequence getText() {
+        return text.getText();
+    }
+
     private AnimatorSet createAnimatorSet() {
         final AnimatorSet animatorSet = new AnimatorSet();
         createBoxAnimatorSet(animatorSet);
         createBarAnimatorSet(animatorSet);
         createTextAnimatorSet(animatorSet);
         return animatorSet;
     }
 
--- a/mobile/android/app/src/photon/res/layout/tab_strip_item_view.xml
+++ b/mobile/android/app/src/photon/res/layout/tab_strip_item_view.xml
@@ -42,11 +42,11 @@
         android:id="@+id/close"
         android:layout_width="35dp"
         android:layout_height="match_parent"
         android:background="@android:color/transparent"
         android:contentDescription="@string/close_tab"
         android:duplicateParentState="true"
         android:scaleType="center"
         android:src="@drawable/tab_close"
-        android:tint="@color/tab_strip_item_title"/>
+        gecko:drawableTintList="@color/tab_strip_item_title"/>
 
 </merge>
--- a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/FennecNativeElement.java
+++ b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/FennecNativeElement.java
@@ -3,19 +3,20 @@
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 package org.mozilla.gecko;
 
 import android.app.Activity;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.EditText;
-import android.widget.TextSwitcher;
 import android.widget.TextView;
 
+import org.mozilla.gecko.toolbar.TabCounter;
+
 public class FennecNativeElement implements Element {
     private final Activity mActivity;
     private final Integer mId;
     private final String mName;
 
     public FennecNativeElement(Integer id, Activity activity) {
         mId = id;
         mActivity = activity;
@@ -61,19 +62,19 @@ public class FennecNativeElement impleme
         RobocopUtils.runOnUiThreadSync(mActivity,
             new Runnable() {
                 @Override
                 public void run() {
                     View v = mActivity.findViewById(mId);
                     if (v instanceof EditText) {
                         EditText et = (EditText)v;
                         mText = et.getEditableText();
-                    } else if (v instanceof TextSwitcher) {
-                        TextSwitcher ts = (TextSwitcher)v;
-                        mText = ((TextView)ts.getCurrentView()).getText();
+                    } else if (v instanceof TabCounter) {
+                        TabCounter tc = (TabCounter)v;
+                        mText = tc.getText();
                     } else if (v instanceof ViewGroup) {
                         ViewGroup vg = (ViewGroup)v;
                         for (int i = 0; i < vg.getChildCount(); i++) {
                             if (vg.getChildAt(i) instanceof TextView) {
                                 mText = ((TextView)vg.getChildAt(i)).getText();
                             }
                         }
                     } else if (v instanceof TextView) {
--- a/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/components/ToolbarComponent.java
+++ b/mobile/android/tests/browser/robocop/src/org/mozilla/gecko/tests/components/ToolbarComponent.java
@@ -10,16 +10,17 @@ import static org.mozilla.gecko.tests.he
 import static org.mozilla.gecko.tests.helpers.AssertionHelper.fAssertTrue;
 
 import org.mozilla.gecko.R;
 import org.mozilla.gecko.tests.UITestContext;
 import org.mozilla.gecko.tests.helpers.DeviceHelper;
 import org.mozilla.gecko.tests.helpers.NavigationHelper;
 import org.mozilla.gecko.tests.helpers.WaitHelper;
 import org.mozilla.gecko.toolbar.PageActionLayout;
+import org.mozilla.gecko.toolbar.TabCounter;
 
 import android.view.View;
 import android.widget.EditText;
 import android.widget.ImageButton;
 import android.widget.TextSwitcher;
 import android.widget.TextView;
 
 import com.robotium.solo.Condition;
@@ -111,23 +112,22 @@ public class ToolbarComponent extends Ba
     private View getUrlDisplayLayout() {
         return getToolbarView().findViewById(R.id.display_layout);
     }
 
     private TextView getUrlTitleText() {
         return (TextView) getToolbarView().findViewById(R.id.url_bar_title);
     }
 
-    private TextSwitcher getTabsCounter() {
-        return (TextSwitcher) getToolbarView().findViewById(R.id.tabs_counter);
+    private TabCounter getTabsCounter() {
+        return (TabCounter) getToolbarView().findViewById(R.id.tabs_counter);
     }
 
     private int getTabsCount() {
-        TextView currentView = (TextView) getTabsCounter().getCurrentView();
-        String tabsCountText = currentView.getText().toString();
+        String tabsCountText = getTabsCounter().getText().toString();
         return Integer.parseInt(tabsCountText);
     }
 
     private ImageButton getBackButton() {
         DeviceHelper.assertIsTablet();
         return (ImageButton) getToolbarView().findViewById(R.id.back);
     }