summaryrefslogtreecommitdiff
path: root/adservices/apk/java/com/android/adservices/ui/settings/fragments/AdServicesSettingsBlockedAppsFragment.java
diff options
context:
space:
mode:
Diffstat (limited to 'adservices/apk/java/com/android/adservices/ui/settings/fragments/AdServicesSettingsBlockedAppsFragment.java')
-rw-r--r--adservices/apk/java/com/android/adservices/ui/settings/fragments/AdServicesSettingsBlockedAppsFragment.java46
1 files changed, 27 insertions, 19 deletions
diff --git a/adservices/apk/java/com/android/adservices/ui/settings/fragments/AdServicesSettingsBlockedAppsFragment.java b/adservices/apk/java/com/android/adservices/ui/settings/fragments/AdServicesSettingsBlockedAppsFragment.java
index ccdb532d89..b5d603b245 100644
--- a/adservices/apk/java/com/android/adservices/ui/settings/fragments/AdServicesSettingsBlockedAppsFragment.java
+++ b/adservices/apk/java/com/android/adservices/ui/settings/fragments/AdServicesSettingsBlockedAppsFragment.java
@@ -21,15 +21,20 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
+import androidx.lifecycle.ViewModelProvider;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.android.adservices.api.R;
-import com.android.adservices.ui.settings.ActionDelegate;
-import com.android.adservices.ui.settings.AdServicesSettingsActivity;
+import com.android.adservices.service.consent.App;
+import com.android.adservices.ui.settings.activities.BlockedAppsActivity;
+import com.android.adservices.ui.settings.delegates.BlockedAppsActionDelegate;
import com.android.adservices.ui.settings.viewadatpors.AppsListViewAdapter;
-import com.android.adservices.ui.settings.viewmodels.AppsViewModel;
+import com.android.adservices.ui.settings.viewmodels.BlockedAppsViewModel;
+
+import java.util.function.Function;
/** Fragment for the blocked apps view of the AdServices Settings App. */
public class AdServicesSettingsBlockedAppsFragment extends Fragment {
@@ -37,37 +42,40 @@ public class AdServicesSettingsBlockedAppsFragment extends Fragment {
@Override
public View onCreateView(
LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View rootView = inflater.inflate(R.layout.blocked_apps_fragment, container, false);
+ return inflater.inflate(R.layout.blocked_apps_fragment, container, false);
+ }
- setupViewModel(rootView);
+ @Override
+ public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
+ setupViewModel(view);
initActionListeners();
-
- return rootView;
}
// initialize all action listeners except for actions in blocked apps list
private void initActionListeners() {
- ActionDelegate actionDelegate =
- ((AdServicesSettingsActivity) requireActivity()).getActionDelegate();
+ BlockedAppsActionDelegate actionDelegate =
+ ((BlockedAppsActivity) requireActivity()).getActionDelegate();
actionDelegate.initBlockedAppsFragment();
}
- /**
- * Initializes view model connection with blocked apps list. (Action listeners for each item in
- * the list will be handled by the adapter).
- */
+ // initializes view model connection with blocked apps list.
+ // (Action listeners for each item in the list will be handled by the adapter)
private void setupViewModel(View rootView) {
- AppsViewModel viewModel =
- ((AdServicesSettingsActivity) requireActivity())
- .getViewModelProvider()
- .get(AppsViewModel.class);
+ // create adapter
+ BlockedAppsViewModel viewModel =
+ new ViewModelProvider(requireActivity()).get(BlockedAppsViewModel.class);
+ Function<App, View.OnClickListener> getOnclickListener =
+ app -> view -> viewModel.restoreAppConsentButtonClickHandler(app);
+ AppsListViewAdapter adapter =
+ new AppsListViewAdapter(
+ requireContext(), viewModel.getBlockedApps(), getOnclickListener, true);
+
+ // set adapter for recyclerView
RecyclerView recyclerView = rootView.findViewById(R.id.blocked_apps_list);
recyclerView.setLayoutManager(new LinearLayoutManager(requireContext()));
- AppsListViewAdapter adapter = new AppsListViewAdapter(viewModel, true);
recyclerView.setAdapter(adapter);
View noBlockedAppsMessage = rootView.findViewById(R.id.no_blocked_apps_message);
-
viewModel
.getBlockedApps()
.observe(getViewLifecycleOwner(), blockedAppsList -> {