android: Replace deprecated fragment menu APIs
This commit is contained in:
+10
-5
@@ -44,12 +44,13 @@ import java.util.TreeSet;
|
|||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.appcompat.widget.SearchView;
|
import androidx.appcompat.widget.SearchView;
|
||||||
|
import androidx.core.view.MenuProvider;
|
||||||
import androidx.fragment.app.ListFragment;
|
import androidx.fragment.app.ListFragment;
|
||||||
import androidx.loader.app.LoaderManager;
|
import androidx.loader.app.LoaderManager;
|
||||||
import androidx.loader.content.AsyncTaskLoader;
|
import androidx.loader.content.AsyncTaskLoader;
|
||||||
import androidx.loader.content.Loader;
|
import androidx.loader.content.Loader;
|
||||||
|
|
||||||
public class SelectedApplicationsListFragment extends ListFragment implements LoaderManager.LoaderCallbacks<Pair<List<SelectedApplicationEntry>, List<String>>>, SearchView.OnQueryTextListener
|
public class SelectedApplicationsListFragment extends ListFragment implements MenuProvider, LoaderManager.LoaderCallbacks<Pair<List<SelectedApplicationEntry>, List<String>>>, SearchView.OnQueryTextListener
|
||||||
{
|
{
|
||||||
private SelectedApplicationsAdapter mAdapter;
|
private SelectedApplicationsAdapter mAdapter;
|
||||||
private SortedSet<String> mSelection;
|
private SortedSet<String> mSelection;
|
||||||
@@ -58,7 +59,7 @@ public class SelectedApplicationsListFragment extends ListFragment implements Lo
|
|||||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState)
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState)
|
||||||
{
|
{
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
setHasOptionsMenu(true);
|
requireActivity().addMenuProvider(this, getViewLifecycleOwner());
|
||||||
|
|
||||||
final boolean readOnly = getActivity().getIntent().getBooleanExtra(VpnProfileDataSource.KEY_READ_ONLY, false);
|
final boolean readOnly = getActivity().getIntent().getBooleanExtra(VpnProfileDataSource.KEY_READ_ONLY, false);
|
||||||
getListView().setChoiceMode(readOnly ? ListView.CHOICE_MODE_NONE : ListView.CHOICE_MODE_MULTIPLE);
|
getListView().setChoiceMode(readOnly ? ListView.CHOICE_MODE_NONE : ListView.CHOICE_MODE_MULTIPLE);
|
||||||
@@ -134,17 +135,21 @@ public class SelectedApplicationsListFragment extends ListFragment implements Lo
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
|
public void onCreateMenu(@NonNull Menu menu, @NonNull MenuInflater menuInflater)
|
||||||
{
|
{
|
||||||
MenuItem item = menu.add(R.string.search);
|
MenuItem item = menu.add(R.string.search);
|
||||||
item.setIcon(android.R.drawable.ic_menu_search);
|
item.setIcon(android.R.drawable.ic_menu_search);
|
||||||
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
|
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
|
||||||
|
|
||||||
SearchView sv = new SearchView(getActivity());
|
SearchView sv = new SearchView(getActivity());
|
||||||
sv.setOnQueryTextListener(this);
|
sv.setOnQueryTextListener(this);
|
||||||
item.setActionView(sv);
|
item.setActionView(sv);
|
||||||
|
}
|
||||||
|
|
||||||
super.onCreateOptionsMenu(menu, inflater);
|
@Override
|
||||||
|
public boolean onMenuItemSelected(@NonNull MenuItem menuItem)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+12
-4
@@ -44,13 +44,15 @@ import java.util.Map.Entry;
|
|||||||
|
|
||||||
import androidx.annotation.NonNull;
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.core.view.MenuProvider;
|
||||||
import androidx.fragment.app.ListFragment;
|
import androidx.fragment.app.ListFragment;
|
||||||
|
import androidx.lifecycle.Lifecycle;
|
||||||
import androidx.loader.app.LoaderManager;
|
import androidx.loader.app.LoaderManager;
|
||||||
import androidx.loader.app.LoaderManager.LoaderCallbacks;
|
import androidx.loader.app.LoaderManager.LoaderCallbacks;
|
||||||
import androidx.loader.content.AsyncTaskLoader;
|
import androidx.loader.content.AsyncTaskLoader;
|
||||||
import androidx.loader.content.Loader;
|
import androidx.loader.content.Loader;
|
||||||
|
|
||||||
public class TrustedCertificateListFragment extends ListFragment implements LoaderCallbacks<List<TrustedCertificateEntry>>, OnQueryTextListener
|
public class TrustedCertificateListFragment extends ListFragment implements MenuProvider, LoaderCallbacks<List<TrustedCertificateEntry>>, OnQueryTextListener
|
||||||
{
|
{
|
||||||
public static final String EXTRA_CERTIFICATE_SOURCE = "certificate_source";
|
public static final String EXTRA_CERTIFICATE_SOURCE = "certificate_source";
|
||||||
private OnTrustedCertificateSelectedListener mListener;
|
private OnTrustedCertificateSelectedListener mListener;
|
||||||
@@ -69,7 +71,7 @@ public class TrustedCertificateListFragment extends ListFragment implements Load
|
|||||||
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState)
|
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState)
|
||||||
{
|
{
|
||||||
super.onViewCreated(view, savedInstanceState);
|
super.onViewCreated(view, savedInstanceState);
|
||||||
setHasOptionsMenu(true);
|
requireActivity().addMenuProvider(this, getViewLifecycleOwner(), Lifecycle.State.RESUMED);
|
||||||
|
|
||||||
setEmptyText(getString(R.string.no_certificates));
|
setEmptyText(getString(R.string.no_certificates));
|
||||||
|
|
||||||
@@ -105,17 +107,23 @@ public class TrustedCertificateListFragment extends ListFragment implements Load
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
|
public void onCreateMenu(@NonNull Menu menu, @NonNull MenuInflater menuInflater)
|
||||||
{
|
{
|
||||||
MenuItem item = menu.add(R.string.search);
|
MenuItem item = menu.add(R.string.search);
|
||||||
item.setIcon(android.R.drawable.ic_menu_search);
|
item.setIcon(android.R.drawable.ic_menu_search);
|
||||||
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
|
item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
|
||||||
|
|
||||||
SearchView sv = new SearchView(getActivity());
|
SearchView sv = new SearchView(getActivity());
|
||||||
sv.setOnQueryTextListener(this);
|
sv.setOnQueryTextListener(this);
|
||||||
item.setActionView(sv);
|
item.setActionView(sv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onMenuItemSelected(@NonNull MenuItem menuItem)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onQueryTextSubmit(String query)
|
public boolean onQueryTextSubmit(String query)
|
||||||
{ /* already handled when the text changes */
|
{ /* already handled when the text changes */
|
||||||
|
|||||||
+11
-9
@@ -57,10 +57,13 @@ import java.util.Objects;
|
|||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.core.view.MenuProvider;
|
||||||
import androidx.fragment.app.Fragment;
|
import androidx.fragment.app.Fragment;
|
||||||
|
import androidx.lifecycle.Lifecycle;
|
||||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||||
|
|
||||||
public class VpnProfileListFragment extends Fragment
|
public class VpnProfileListFragment extends Fragment implements MenuProvider
|
||||||
{
|
{
|
||||||
private static final String SELECTED_KEY = "SELECTED";
|
private static final String SELECTED_KEY = "SELECTED";
|
||||||
|
|
||||||
@@ -148,6 +151,7 @@ public class VpnProfileListFragment extends Fragment
|
|||||||
|
|
||||||
if (!mReadOnly)
|
if (!mReadOnly)
|
||||||
{
|
{
|
||||||
|
requireActivity().addMenuProvider(this, getViewLifecycleOwner());
|
||||||
mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
|
mListView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
|
||||||
mListView.setMultiChoiceModeListener(mVpnProfileSelected);
|
mListView.setMultiChoiceModeListener(mVpnProfileSelected);
|
||||||
}
|
}
|
||||||
@@ -167,8 +171,6 @@ public class VpnProfileListFragment extends Fragment
|
|||||||
|
|
||||||
if (!mReadOnly)
|
if (!mReadOnly)
|
||||||
{
|
{
|
||||||
setHasOptionsMenu(true);
|
|
||||||
|
|
||||||
ArrayList<Integer> selected = null;
|
ArrayList<Integer> selected = null;
|
||||||
if (savedInstanceState != null)
|
if (savedInstanceState != null)
|
||||||
{
|
{
|
||||||
@@ -218,13 +220,13 @@ public class VpnProfileListFragment extends Fragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
|
public void onCreateMenu(@NonNull Menu menu, @NonNull MenuInflater menuInflater)
|
||||||
{
|
{
|
||||||
inflater.inflate(R.menu.profile_list, menu);
|
menuInflater.inflate(R.menu.profile_list, menu);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onPrepareOptionsMenu(Menu menu)
|
public void onPrepareMenu(@NonNull Menu menu)
|
||||||
{
|
{
|
||||||
final MenuItem addProfile = menu.findItem(R.id.add_profile);
|
final MenuItem addProfile = menu.findItem(R.id.add_profile);
|
||||||
if (addProfile != null)
|
if (addProfile != null)
|
||||||
@@ -236,16 +238,16 @@ public class VpnProfileListFragment extends Fragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onOptionsItemSelected(MenuItem item)
|
public boolean onMenuItemSelected(@NonNull MenuItem menuItem)
|
||||||
{
|
{
|
||||||
if (item.getItemId() == R.id.add_profile)
|
if (menuItem.getItemId() == R.id.add_profile)
|
||||||
{
|
{
|
||||||
Intent connectionIntent = new Intent(getActivity(),
|
Intent connectionIntent = new Intent(getActivity(),
|
||||||
VpnProfileDetailActivity.class);
|
VpnProfileDetailActivity.class);
|
||||||
startActivity(connectionIntent);
|
startActivity(connectionIntent);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return super.onOptionsItemSelected(item);
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private final OnItemClickListener mVpnProfileClicked = new OnItemClickListener()
|
private final OnItemClickListener mVpnProfileClicked = new OnItemClickListener()
|
||||||
|
|||||||
Reference in New Issue
Block a user