Backed out changeset 399980ce108a (bug 1137483)

This commit is contained in:
Carsten "Tomcat" Book 2015-05-08 10:48:33 +02:00
Родитель 59f9d29427
Коммит 58bf9ec24c
3 изменённых файлов: 31 добавлений и 51 удалений

Просмотреть файл

@ -14,7 +14,6 @@ import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.FrameLayout;
import org.mozilla.gecko.R;
import org.mozilla.gecko.widget.FaviconView;
@ -34,12 +33,24 @@ public class SearchEngineBar extends TwoWayView
private final SearchEngineAdapter adapter;
private OnSearchBarClickListener onSearchBarClickListener;
private final Paint dividerPaint;
public SearchEngineBar(final Context context, final AttributeSet attrs) {
super(context, attrs);
adapter = new SearchEngineAdapter();
setAdapter(adapter);
setOnItemClickListener(this);
dividerPaint = new Paint();
dividerPaint.setColor(getResources().getColor(R.color.divider_light));
}
@Override
public void onDraw(final Canvas canvas) {
super.onDraw(canvas);
canvas.drawLine(0, 0, getWidth(), 0, dividerPaint);
}
@Override
@ -101,33 +112,4 @@ public class SearchEngineBar extends TwoWayView
return view;
}
}
/**
* A Container to surround the SearchEngineBar. This is necessary so we can draw
* a divider across the entire width of the screen, but have the inner list layout
* not take up the full width of the screen so it can be centered within this container
* if there aren't enough items that it needs to scroll.
*
* Note: a better implementation would have this View inflating an inner layout so
* the containing layout doesn't need two "SearchEngineBar" Views but it wasn't
* worth the refactor time.
*/
@SuppressWarnings("unused") // via XML
public static class SearchEngineBarContainer extends FrameLayout {
private final Paint dividerPaint;
public SearchEngineBarContainer(final Context context, final AttributeSet attrs) {
super(context, attrs);
dividerPaint = new Paint();
dividerPaint.setColor(getResources().getColor(R.color.divider_light));
}
@Override
public void onDraw(final Canvas canvas) {
super.onDraw(canvas);
canvas.drawLine(0, 0, getWidth(), 0, dividerPaint);
}
}
}

Просмотреть файл

@ -19,26 +19,24 @@
android:layout_height="0dp"
android:layout_weight="1" />
<view class="org.mozilla.gecko.home.SearchEngineBar$SearchEngineBarContainer"
<!-- The desired layout_height is 48dp. We add paddingTop so we have
space to dynamically draw the divider in onDraw. Preferably, we'd
wrap_content on the inner layout, but TwoWayView ignores wrap_content. :(
Note: the layout_height value is shared with the inner layout
(search_engine_bar_item at the time of this writing).
listSelector is too slow for showing pressed state
so we set the pressed colors on the child. -->
<org.mozilla.gecko.home.SearchEngineBar
android:id="@+id/search_engine_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#fff">
<!-- We add a marginTop so the outer container can draw a divider.
listSelector is too slow for showing pressed state
so we set the pressed colors on the child. -->
<org.mozilla.gecko.home.SearchEngineBar
android:id="@+id/search_engine_bar"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:layout_marginTop="1dp"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:choiceMode="singleChoice"
android:listSelector="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"/>
</view>
android:layout_height="49dp"
android:paddingTop="1dp"
android:orientation="horizontal"
android:background="#fff"
android:choiceMode="singleChoice"
android:listSelector="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"/>
</LinearLayout>

Просмотреть файл

@ -11,7 +11,7 @@
View (browser_search at the time of this writing). -->
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_height="48dp"
android:layout_width="72dp"
android:background="@color/pressed_about_page_header_grey">