[Panlingual] Improve and refactor revamped UI

- Remove useless file
 - Make Icon be able to scroll up and down

Bug: 226350483
Test: local test
Change-Id: I4564f432143e7e31ba5beff1dd32d7bc7764f9bf
(cherry picked from commit ded10f8e24)
Merged-In: I4564f432143e7e31ba5beff1dd32d7bc7764f9bf
This commit is contained in:
tom hsu
2022-03-23 22:28:39 +08:00
parent 4440e7a067
commit 213b3ce4af
3 changed files with 55 additions and 52 deletions

View File

@@ -18,12 +18,16 @@ package com.android.settings.localepicker;
import android.app.FragmentTransaction;
import android.app.LocaleManager;
import android.net.Uri;
import android.os.Bundle;
import android.os.LocaleList;
import android.text.TextUtils;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.FrameLayout;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.LocalePickerWithRegion;
import com.android.internal.app.LocaleStore;
import com.android.settings.R;
@@ -39,11 +43,19 @@ public class AppLocalePickerActivity extends SettingsBaseActivity
private static final String TAG = AppLocalePickerActivity.class.getSimpleName();
private String mPackageName;
private LocalePickerWithRegion mLocalePickerWithRegion;
private AppLocaleDetails mAppLocaleDetails;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPackageName = getIntent().getData().getSchemeSpecificPart();
Uri data = getIntent().getData();
if (data == null) {
Log.d(TAG, "There is no uri data.");
finish();
return;
}
mPackageName = data.getSchemeSpecificPart();
if (TextUtils.isEmpty(mPackageName)) {
Log.d(TAG, "There is no package name.");
finish();
@@ -51,25 +63,13 @@ public class AppLocalePickerActivity extends SettingsBaseActivity
}
getActionBar().setDisplayHomeAsUpEnabled(true);
setContentView(R.layout.app_locale_picker);
// Create App locale info detail part.
AppLocaleDetails appLocaleDetails = AppLocaleDetails.newInstance(mPackageName);
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.app_locale_detail, appLocaleDetails)
.commit();
mLocalePickerWithRegion = LocalePickerWithRegion.createLanguagePicker(
this, AppLocalePickerActivity.this, false /* translate only */, mPackageName);
mAppLocaleDetails = AppLocaleDetails.newInstance(mPackageName);
// Create Locale picker part.
final LocalePickerWithRegion selector = LocalePickerWithRegion.createLanguagePicker(
this, AppLocalePickerActivity.this, false /* translate only */);
// LocalePickerWithRegion use android.app.ListFragment. Thus, it can not user
// getSupportFragmentManager() to add this into container.
getFragmentManager()
.beginTransaction()
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.replace(R.id.app_locale_picker_with_region, selector)
.commit();
// Launch Locale picker part.
launchLocalePickerPage();
}
@Override
@@ -114,5 +114,38 @@ public class AppLocalePickerActivity extends SettingsBaseActivity
}
localeManager.setApplicationLocales(mPackageName, LocaleList.forLanguageTags(languageTag));
}
}
private View launchAppLocaleDetailsPage() {
FrameLayout appLocaleDetailsContainer = new FrameLayout(this);
appLocaleDetailsContainer.setId(R.id.layout_app_locale_details);
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.layout_app_locale_details, mAppLocaleDetails)
.commit();
return appLocaleDetailsContainer;
}
@VisibleForTesting
void launchLocalePickerPage() {
// LocalePickerWithRegion use android.app.ListFragment. Thus, it can not use
// getSupportFragmentManager() to add this into container.
android.app.FragmentManager fragmentManager = getFragmentManager();
fragmentManager.registerFragmentLifecycleCallbacks(
new android.app.FragmentManager.FragmentLifecycleCallbacks() {
@Override
public void onFragmentViewCreated(
android.app.FragmentManager fm,
android.app.Fragment f,
View v,
Bundle savedInstanceState) {
super.onFragmentViewCreated(fm, f, v, savedInstanceState);
mLocalePickerWithRegion
.getListView().addHeaderView(launchAppLocaleDetailsPage());
}
}, true);
fragmentManager.beginTransaction()
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.replace(R.id.content_frame, mLocalePickerWithRegion)
.commit();
}
}