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

Commit 5342479f authored by tom hsu's avatar tom hsu
Browse files

Pass viewable locales to LocalePickerWithRegion

Bug: b/249219775
Test: Manual test
Change-Id: I48f2f02a365d3597023e021a7819d31709e6d5d8
parent b427e8f0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -78,6 +78,7 @@ public class AppLocalePickerActivity extends SettingsBaseActivity
                mContextAsUser,
                this,
                false /* translate only */,
                null,
                mPackageName,
                this);
        mAppLocaleDetails = AppLocaleDetails.newInstance(mPackageName, mContextAsUser.getUserId());
+1 −0
Original line number Diff line number Diff line
@@ -307,6 +307,7 @@ public class LocaleListEditor extends RestrictedSettingsFragment {

                final Intent intent = new Intent(getActivity(),
                        LocalePickerWithRegionActivity.class);
                intent.putExtras(getActivity().getIntent().getExtras());
                startActivityForResult(intent, REQUEST_LOCALE_PICKER);
            }
        });
+21 −2
Original line number Diff line number Diff line
@@ -19,6 +19,9 @@ package com.android.settings.localepicker;
import android.app.FragmentTransaction;
import android.content.Intent;
import android.os.Bundle;
import android.os.LocaleList;
import android.provider.Settings;
import android.util.Log;
import android.view.MenuItem;

import com.android.internal.app.LocalePickerWithRegion;
@@ -29,7 +32,7 @@ import com.android.settings.core.SettingsBaseActivity;
/** A activity to show the locale picker page. */
public class LocalePickerWithRegionActivity extends SettingsBaseActivity
        implements LocalePickerWithRegion.LocaleSelectedListener {

    private static final String TAG = LocalePickerWithRegionActivity.class.getSimpleName();
    private static final String PARENT_FRAGMENT_NAME = "localeListEditor";

    @Override
@@ -37,9 +40,20 @@ public class LocalePickerWithRegionActivity extends SettingsBaseActivity
        super.onCreate(savedInstanceState);
        getActionBar().setDisplayHomeAsUpEnabled(true);
        setTitle(R.string.add_a_language);
        LocaleList explicitLocales = null;
        if (isDeviceDemoMode()) {
            Bundle bundle = getIntent().getExtras();
            explicitLocales = bundle == null
                    ? null
                    : bundle.getParcelable(Settings.EXTRA_EXPLICIT_LOCALES, LocaleList.class);
            Log.i(TAG, "Has explicit locales : " + explicitLocales);
        }

        final LocalePickerWithRegion selector = LocalePickerWithRegion.createLanguagePicker(
                this, LocalePickerWithRegionActivity.this, false /* translate only */);
                this,
                LocalePickerWithRegionActivity.this,
                false /* translate only */,
                explicitLocales);
        getFragmentManager()
                .beginTransaction()
                .setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
@@ -78,5 +92,10 @@ public class LocalePickerWithRegionActivity extends SettingsBaseActivity
            finish();
        }
    }

    private boolean isDeviceDemoMode() {
        return Settings.Global.getInt(
                getContentResolver(), Settings.Global.DEVICE_DEMO_MODE, 0) == 1;
    }
}