ProfileList: Extract service management into a base class
It will be shared with other fragments. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
parent
81ab643d2b
commit
93e304ba2d
@ -0,0 +1,37 @@
|
|||||||
|
package com.wireguard.android;
|
||||||
|
|
||||||
|
import android.app.Fragment;
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Base class for fragments that are part of a ProfileActivity.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class ProfileActivityFragment extends Fragment implements ServiceConnectionListener {
|
||||||
|
private ProfileActivity activity;
|
||||||
|
protected ProfileServiceInterface service;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onAttach(Context context) {
|
||||||
|
super.onAttach(context);
|
||||||
|
activity = (ProfileActivity) context;
|
||||||
|
activity.addServiceConnectionListener(this);
|
||||||
|
service = activity.getService();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDetach() {
|
||||||
|
super.onDetach();
|
||||||
|
activity.removeServiceConnectionListener(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onServiceConnected(ProfileServiceInterface service) {
|
||||||
|
this.service = service;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onServiceDisconnected() {
|
||||||
|
service = null;
|
||||||
|
}
|
||||||
|
}
|
@ -1,7 +1,5 @@
|
|||||||
package com.wireguard.android;
|
package com.wireguard.android;
|
||||||
|
|
||||||
import android.app.Fragment;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
@ -16,18 +14,8 @@ import com.wireguard.config.Profile;
|
|||||||
* Fragment containing the list of available WireGuard profiles. Must be part of a ProfileActivity.
|
* Fragment containing the list of available WireGuard profiles. Must be part of a ProfileActivity.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class ProfileListFragment extends Fragment implements ServiceConnectionListener {
|
public class ProfileListFragment extends ProfileActivityFragment {
|
||||||
private ProfileActivity activity;
|
|
||||||
private ProfileListFragmentBinding binding;
|
private ProfileListFragmentBinding binding;
|
||||||
private ProfileServiceInterface service;
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onAttach(Context context) {
|
|
||||||
super.onAttach(context);
|
|
||||||
activity = (ProfileActivity) context;
|
|
||||||
activity.addServiceConnectionListener(this);
|
|
||||||
service = activity.getService();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
|
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
|
||||||
@ -57,20 +45,9 @@ public class ProfileListFragment extends Fragment implements ServiceConnectionLi
|
|||||||
return binding.getRoot();
|
return binding.getRoot();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onDetach() {
|
|
||||||
super.onDetach();
|
|
||||||
activity.removeServiceConnectionListener(this);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onServiceConnected(ProfileServiceInterface service) {
|
public void onServiceConnected(ProfileServiceInterface service) {
|
||||||
this.service = service;
|
super.onServiceConnected(service);
|
||||||
binding.setProfiles(service.getProfiles());
|
binding.setProfiles(service.getProfiles());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onServiceDisconnected() {
|
|
||||||
service = null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user