Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dacbb746 authored by Adam Powell's avatar Adam Powell
Browse files

DO NOT MERGE Action bar config changes

Handle action bar padding on configuration changes when the app
handles these changes itself.

Change-Id: I044da9253a0be6b4bbabdc12891b6d4786725afa
parent 146a0b45
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -28,6 +28,8 @@ import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.graphics.drawable.Drawable;
import android.text.TextUtils;
@@ -979,6 +981,21 @@ public class ActionBarView extends ViewGroup {
            mIconView = (ImageView) findViewById(com.android.internal.R.id.home);
        }

        @Override
        public void onConfigurationChanged(Configuration newConfig) {
            super.onConfigurationChanged(newConfig);

            // Make sure we reload positioning elements that may change with configuration.
            Resources res = getContext().getResources();
            final int imagePadding = res.getDimensionPixelSize(
                    com.android.internal.R.dimen.action_bar_home_image_padding);
            final int upMargin = res.getDimensionPixelSize(
                    com.android.internal.R.dimen.action_bar_home_up_margin);
            mIconView.setPadding(imagePadding, getPaddingTop(), imagePadding, getPaddingBottom());
            ((LayoutParams) mUpView.getLayoutParams()).rightMargin = upMargin;
            mUpView.requestLayout();
        }

        @Override
        protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
            measureChildWithMargins(mUpView, widthMeasureSpec, 0, heightMeasureSpec, 0);
+3 −3
Original line number Diff line number Diff line
@@ -25,12 +25,12 @@
               android:visibility="gone"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_marginRight="-4dip" />
               android:layout_marginRight="@dimen/action_bar_home_up_margin" />
    <ImageView android:id="@android:id/home"
               android:layout_width="wrap_content"
               android:layout_height="match_parent"
               android:paddingLeft="8dip"
               android:paddingRight="8dip"
               android:paddingLeft="@dimen/action_bar_home_image_padding"
               android:paddingRight="@dimen/action_bar_home_image_padding"
               android:layout_gravity="center"
               android:scaleType="center" />
</view>
+24 −0
Original line number Diff line number Diff line
@@ -14,23 +14,11 @@
     limitations under the License.
-->

<view xmlns:android="http://schemas.android.com/apk/res/android"
      class="com.android.internal.widget.ActionBarView$HomeView"
      android:layout_width="wrap_content"
      android:layout_height="match_parent"
      android:background="?android:attr/selectableItemBackground" >
    <ImageView android:id="@android:id/up"
               android:src="?android:attr/homeAsUpIndicator"
               android:layout_gravity="center_vertical|left"
               android:visibility="gone"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:layout_marginRight="-12dip" />
    <ImageView android:id="@android:id/home"
               android:layout_width="wrap_content"
               android:layout_height="wrap_content"
               android:paddingLeft="16dip"
               android:paddingRight="16dip"
               android:layout_gravity="center"
               android:scaleType="center" />
</view>
<resources>
    <!-- Size of the margin between the 'up' visual and the image in
         the action bar home section. -->
    <dimen name="action_bar_home_up_margin">-12dip</dimen>
    <!-- Size of the padding on either side of the app-supplied image
         in the action bar home section. -->
    <dimen name="action_bar_home_image_padding">16dip</dimen>
</resources>
+8 −0
Original line number Diff line number Diff line
@@ -81,4 +81,12 @@
    <dimen name="alert_dialog_title_height">48dip</dimen>
    <!-- Dialog button bar height -->
    <dimen name="alert_dialog_button_bar_height">48dip</dimen>

    <!-- Size of the margin between the 'up' visual and the image in
         the action bar home section. -->
    <dimen name="action_bar_home_up_margin">-4dip</dimen>
    <!-- Size of the padding on either side of the app-supplied image
         in the action bar home section. -->
    <dimen name="action_bar_home_image_padding">8dip</dimen>

</resources>