Sfoglia il codice sorgente

ProfileList: Extract service management into a base class

It will be shared with other fragments.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
master
Samuel Holland 7 anni fa
parent
commit
93e304ba2d
2 ha cambiato i file con 39 aggiunte e 25 eliminazioni
  1. +37
    -0
      app/src/main/java/com/wireguard/android/ProfileActivityFragment.java
  2. +2
    -25
      app/src/main/java/com/wireguard/android/ProfileListFragment.java

+ 37
- 0
app/src/main/java/com/wireguard/android/ProfileActivityFragment.java Vedi File

@@ -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;
}
}

+ 2
- 25
app/src/main/java/com/wireguard/android/ProfileListFragment.java Vedi File

@@ -1,7 +1,5 @@
package com.wireguard.android;

import android.app.Fragment;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
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.
*/

public class ProfileListFragment extends Fragment implements ServiceConnectionListener {
private ProfileActivity activity;
public class ProfileListFragment extends ProfileActivityFragment {
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
public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) {
@@ -57,20 +45,9 @@ public class ProfileListFragment extends Fragment implements ServiceConnectionLi
return binding.getRoot();
}

@Override
public void onDetach() {
super.onDetach();
activity.removeServiceConnectionListener(this);
}

@Override
public void onServiceConnected(ProfileServiceInterface service) {
this.service = service;
super.onServiceConnected(service);
binding.setProfiles(service.getProfiles());
}

@Override
public void onServiceDisconnected() {
service = null;
}
}

Caricamento…
Annulla
Salva