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

Commit 9e3a9fd2 authored by Raff Tsai's avatar Raff Tsai
Browse files

Add fragment in xml instead of using injected way

- It can improve performance because we use less injected item
- Also remove summary provider from those fragments

Bug: 141653158
Test: robolectric
Change-Id: I6255f71b3b8300aea064a4fefd6711c1ff59e08a
parent 1673f11d
Loading
Loading
Loading
Loading
+4 −16
Original line number Diff line number Diff line
@@ -592,14 +592,8 @@
                <category android:name="android.intent.category.VOICE_LAUNCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="com.android.settings.action.SETTINGS" />
            </intent-filter>
            <meta-data android:name="com.android.settings.category"
                android:value="com.android.settings.category.ia.system" />
            <meta-data android:name="com.android.settings.order" android:value="-240"/>
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                android:value="com.android.settings.DateTimeSettings" />
                android:value="com.android.settings.datetime.DateTimeSettings" />
            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
                android:value="true" />
        </activity>
@@ -640,12 +634,6 @@
                <category android:name="android.intent.category.VOICE_LAUNCH" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
            <intent-filter>
                <action android:name="com.android.settings.action.SETTINGS"/>
            </intent-filter>
            <meta-data android:name="com.android.settings.order" android:value="-260"/>
            <meta-data android:name="com.android.settings.category"
                       android:value="com.android.settings.category.ia.system"/>
            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                       android:value="com.android.settings.language.LanguageAndInputSettings"/>
            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+18 −2
Original line number Diff line number Diff line
@@ -21,6 +21,14 @@
    android:title="@string/header_category_system"
    settings:initialExpandedChildrenCount="4">

    <Preference
        android:key="language_input_settings"
        android:title="@string/language_settings"
        android:icon="@drawable/ic_settings_language"
        android:order="-260"
        android:fragment="com.android.settings.language.LanguageAndInputSettings"
        settings:controller="com.android.settings.language.LanguageAndInputPreferenceController"/>

    <Preference
        android:key="gesture_settings"
        android:title="@string/gesture_preference_title"
@@ -29,6 +37,14 @@
        android:fragment="com.android.settings.gestures.GestureSettings"
        settings:controller="com.android.settings.gestures.GesturesSettingPreferenceController"/>

    <Preference
        android:key="date_time_settings"
        android:title="@string/date_and_time"
        android:icon="@drawable/ic_settings_date_time"
        android:order="-240"
        android:fragment="com.android.settings.datetime.DateTimeSettings"
        settings:controller="com.android.settings.datetime.DateTimePreferenceController"/>

    <Preference
        android:key="reset_dashboard"
        android:title="@string/reset_dashboard_title"
+1 −1
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@

package com.android.settings.core.gateway;

import com.android.settings.DateTimeSettings;
import com.android.settings.DisplaySettings;
import com.android.settings.IccLockSettings;
import com.android.settings.MasterClear;
@@ -63,6 +62,7 @@ import com.android.settings.connecteddevice.usb.UsbDetailsFragment;
import com.android.settings.datausage.DataSaverSummary;
import com.android.settings.datausage.DataUsageList;
import com.android.settings.datausage.DataUsageSummary;
import com.android.settings.datetime.DateTimeSettings;
import com.android.settings.deletionhelper.AutomaticStorageManagerSettings;
import com.android.settings.development.DevelopmentSettingsDashboardFragment;
import com.android.settings.deviceinfo.PrivateVolumeForget;
+43 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2019 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.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License
 */

package com.android.settings.datetime;

import android.content.Context;

import com.android.settings.core.BasePreferenceController;
import com.android.settingslib.datetime.ZoneGetter;

import java.util.Calendar;

public class DateTimePreferenceController extends BasePreferenceController {

    public DateTimePreferenceController(Context context, String key) {
        super(context, key);
    }

    @Override
    public int getAvailabilityStatus() {
        return AVAILABLE;
    }

    @Override
    public CharSequence getSummary() {
        final Calendar now = Calendar.getInstance();
        return ZoneGetter.getTimeZoneOffsetAndName(mContext,
                now.getTimeZone(), now.getTime());
    }
}
+4 −44
Original line number Diff line number Diff line
/*
 * Copyright (C) 2008 The Android Open Source Project
 * Copyright (C) 2019 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.
@@ -11,10 +11,10 @@
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * limitations under the License
 */

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

import android.app.Activity;
import android.app.Dialog;
@@ -22,23 +22,13 @@ import android.app.settings.SettingsEnums;
import android.content.Context;
import android.content.Intent;

import com.android.settings.R;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.datetime.AutoTimeFormatPreferenceController;
import com.android.settings.datetime.AutoTimePreferenceController;
import com.android.settings.datetime.AutoTimeZonePreferenceController;
import com.android.settings.datetime.DatePreferenceController;
import com.android.settings.datetime.TimeChangeListenerMixin;
import com.android.settings.datetime.TimeFormatPreferenceController;
import com.android.settings.datetime.TimePreferenceController;
import com.android.settings.datetime.TimeZonePreferenceController;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.datetime.ZoneGetter;
import com.android.settingslib.search.SearchIndexable;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

@SearchIndexable
@@ -144,36 +134,6 @@ public class DateTimeSettings extends DashboardFragment implements
        showDialog(DatePreferenceController.DIALOG_DATEPICKER);
    }

    private static class SummaryProvider implements SummaryLoader.SummaryProvider {

        private final Context mContext;
        private final SummaryLoader mSummaryLoader;

        public SummaryProvider(Context context, SummaryLoader summaryLoader) {
            mContext = context;
            mSummaryLoader = summaryLoader;
        }

        @Override
        public void setListening(boolean listening) {
            if (listening) {
                final Calendar now = Calendar.getInstance();
                mSummaryLoader.setSummary(this, ZoneGetter.getTimeZoneOffsetAndName(mContext,
                        now.getTimeZone(), now.getTime()));
            }
        }
    }

    public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
            = new SummaryLoader.SummaryProviderFactory() {
        @Override
        public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
                SummaryLoader summaryLoader) {
            return new SummaryProvider(activity, summaryLoader);
        }
    };


    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
            new BaseSearchIndexProvider(R.xml.date_time_prefs);
}
Loading