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

Commit 1447da27 authored by Fan Zhang's avatar Fan Zhang
Browse files

Fix layout for time zone picker

Change-Id: I2f1dedac7d747901978ef5d4a1a58bae2fa02921
Fix: 35856915
Test: make RunSettingsRoboTests
parent e32788c6
Loading
Loading
Loading
Loading
+19 −20
Original line number Diff line number Diff line
@@ -15,29 +15,28 @@
-->

<!-- Based on simple_list_item_2.xml in framework -->
<TwoLineListItem xmlns:android="http://schemas.android.com/apk/res/android"
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:mode="twoLine"
    android:background="?android:attr/selectableItemBackground"
    android:gravity="center_vertical"
>
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:orientation="vertical"
    android:paddingStart="@dimen/preference_no_icon_padding_start"
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">

    <TextView android:id="@android:id/text1"
    <TextView
        android:id="@android:id/text1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
              android:minHeight="16dip"
              android:layout_marginStart="10dip"
              android:textAppearance="?android:attr/textAppearanceMedium"
              />
        android:textAppearance="?android:attr/textAppearanceListItem" />

    <TextView android:id="@android:id/text2"
    <TextView
        android:id="@android:id/text2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
              android:minHeight="10dip"
              android:layout_below="@android:id/text1"
              android:layout_alignStart="@android:id/text1"
              android:textAppearance="?android:attr/textAppearanceSmall"
              />
        android:textAppearance="?android:attr/textAppearanceListItemSecondary"
        android:textColor="?android:attr/textColorSecondary" />

</TwoLineListItem>
</LinearLayout>
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@
        />

    <Preference
        android:fragment="com.android.settings.ZonePicker"
        android:fragment="com.android.settings.datetime.ZonePicker"
        android:key="timezone"
        android:title="@string/date_time_set_timezone"
        android:summary="GMT-8:00"
+0 −7
Original line number Diff line number Diff line
@@ -302,13 +302,6 @@ public final class Utils extends com.android.settingslib.Utils {
        return formatPercentage(getBatteryLevel(batteryChangedIntent));
    }

    public static void forcePrepareCustomPreferencesList(
            ViewGroup parent, View child, ListView list, boolean ignoreSidePadding) {
        list.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
        list.setClipToPadding(false);
        prepareCustomPreferencesList(parent, child, list, ignoreSidePadding);
    }

    /**
     * Prepare a custom preferences layout, moving padding to {@link ListView}
     * when outside scrollbars are requested. Usually used to display
+13 −29
Original line number Diff line number Diff line
/*
 * Copyright (C) 2006 The Android Open Source Project
 * Copyright (C) 2017 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
 * limitations under the License.
 */

package com.android.settings;
package com.android.settings.datetime;

import android.annotation.NonNull;
import android.app.Activity;
@@ -33,8 +33,9 @@ import android.widget.SimpleAdapter;
import android.widget.TextView;

import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.core.instrumentation.VisibilityLoggerMixin;
import com.android.settings.R;
import com.android.settings.core.instrumentation.Instrumentable;
import com.android.settings.core.instrumentation.VisibilityLoggerMixin;
import com.android.settingslib.datetime.ZoneGetter;

import java.util.Collections;
@@ -52,11 +53,6 @@ import java.util.TimeZone;
 */
public class ZonePicker extends ListFragment implements Instrumentable {

    public interface ZoneSelectionListener {
        // You can add any argument if you really need it...
        void onZoneSelected(TimeZone tz);
    }

    private static final int MENU_TIMEZONE = Menu.FIRST+1;
    private static final int MENU_ALPHABETICAL = Menu.FIRST;
    private final VisibilityLoggerMixin mVisibilityLoggerMixin =
@@ -67,8 +63,6 @@ public class ZonePicker extends ListFragment implements Instrumentable {
    private SimpleAdapter mTimezoneSortedAdapter;
    private SimpleAdapter mAlphabeticalAdapter;

    private ZoneSelectionListener mListener;

    /**
     * Constructs an adapter with TimeZone list. Sorted by TimeZone in default.
     *
@@ -148,15 +142,6 @@ public class ZonePicker extends ListFragment implements Instrumentable {
        return -1;
    }

    /**
     * @param item one of items in adapters. The adapter should be constructed by
     * {@link #constructTimezoneAdapter(Context, boolean)}.
     * @return TimeZone object corresponding to the item.
     */
    public static TimeZone obtainTimeZoneFromItem(Object item) {
        return TimeZone.getTimeZone((String)((Map<?, ?>)item).get(ZoneGetter.KEY_ID));
    }

    @Override
    public void onAttach(Context context) {
        super.onAttach(context);
@@ -185,8 +170,8 @@ public class ZonePicker extends ListFragment implements Instrumentable {
    public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        final View view = super.onCreateView(inflater, container, savedInstanceState);
        final ListView list = (ListView) view.findViewById(android.R.id.list);
        Utils.forcePrepareCustomPreferencesList(container, view, list, false);
        final ListView list = view.findViewById(android.R.id.list);
        prepareCustomPreferencesList(list);
        return view;
    }

@@ -233,8 +218,10 @@ public class ZonePicker extends ListFragment implements Instrumentable {
        }
    }

    public void setZoneSelectionListener(ZoneSelectionListener listener) {
        mListener = listener;
    static void prepareCustomPreferencesList(ListView list) {
        list.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY);
        list.setClipToPadding(false);
        list.setDivider(null);
    }

    private void setSorting(boolean sortByTimezone) {
@@ -259,12 +246,9 @@ public class ZonePicker extends ListFragment implements Instrumentable {
        final Activity activity = getActivity();
        final AlarmManager alarm = (AlarmManager) activity.getSystemService(Context.ALARM_SERVICE);
        alarm.setTimeZone(tzId);
        final TimeZone tz = TimeZone.getTimeZone(tzId);
        if (mListener != null) {
            mListener.onZoneSelected(tz);
        } else {

        getActivity().onBackPressed();
        }

    }

    @Override
+1 −0
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.widget.FrameLayout;
import android.widget.SimpleAdapter;
import android.widget.TextView;

import com.android.settings.datetime.ZonePicker;
import com.android.settings.testutils.shadow.ShadowLibcoreTimeZoneNames;
import com.android.settings.testutils.shadow.ShadowTimeZoneNames;

Loading