Bug 1386975 - Part 2: Fix Robocop/Mochitest-chrome errors when Photon is enabled. r=maliu,nalexander,sebastian
MozReview-Commit-ID: FszicKMWywf
--- 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);
}