Unify the default template and title

On AppDataUsage page, using single source of truth to calculate the
default template, and set title base on the current template.

Fix: 213266028
Fix: 234104784
Test: visual - on AppDataUsage
Test: unit test
Change-Id: I80facca0b000964e901905af51a344a4bc9f498b
This commit is contained in:
Chaohui Wang
2023-10-09 17:43:32 +08:00
parent b7f8c15ff0
commit 6395cf8d30
8 changed files with 119 additions and 94 deletions

View File

@@ -29,7 +29,6 @@ import android.net.NetworkTemplate;
import android.os.Bundle;
import android.os.Process;
import android.os.UserHandle;
import android.telephony.SubscriptionManager;
import android.util.ArraySet;
import android.util.IconDrawableFactory;
import android.util.Log;
@@ -44,6 +43,7 @@ import androidx.recyclerview.widget.RecyclerView;
import com.android.settings.R;
import com.android.settings.applications.AppInfoBase;
import com.android.settings.datausage.lib.AppDataUsageDetailsRepository;
import com.android.settings.datausage.lib.NetworkTemplates;
import com.android.settings.datausage.lib.NetworkUsageDetailsData;
import com.android.settings.network.SubscriptionUtil;
import com.android.settings.widget.EntityHeaderController;
@@ -118,15 +118,16 @@ public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceC
mSelectedCycle = (args != null) ? args.getLong(ARG_SELECTED_CYCLE) : 0L;
if (mTemplate == null) {
mTemplate = DataUsageUtils.getDefaultTemplate(mContext,
SubscriptionManager.getDefaultDataSubscriptionId());
mTemplate = NetworkTemplates.INSTANCE.getDefaultTemplate(mContext);
}
final Activity activity = requireActivity();
activity.setTitle(NetworkTemplates.getTitleResId(mTemplate));
if (mAppItem == null) {
int uid = (args != null) ? args.getInt(AppInfoBase.ARG_PACKAGE_UID, -1)
: getActivity().getIntent().getIntExtra(AppInfoBase.ARG_PACKAGE_UID, -1);
if (uid == -1) {
// TODO: Log error.
getActivity().finish();
activity.finish();
} else {
addUid(uid);
mAppItem = new AppItem(uid);