remove swipeRefreshLayout

development
Felix Prahl-Kamps 2019-10-10 14:05:06 +02:00
parent 1454b6d19c
commit 6216543b7b
3 changed files with 10 additions and 33 deletions

View File

@ -14,7 +14,6 @@ import androidx.core.app.ActivityOptionsCompat;
import androidx.core.util.Pair; import androidx.core.util.Pair;
import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.google.android.material.floatingactionbutton.FloatingActionButton; import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar; import com.google.android.material.snackbar.Snackbar;
@ -41,8 +40,6 @@ public class HomeActivity extends AppCompatActivity {
private PreferenceManager preferenceManager; private PreferenceManager preferenceManager;
private MispRestClient restClient; private MispRestClient restClient;
private SwipeRefreshLayout swipeRefreshLayout;
private List<SyncInformation> syncInformationList; private List<SyncInformation> syncInformationList;
private RecyclerView recyclerView; private RecyclerView recyclerView;
private SyncInfoAdapter syncInfoAdapter; private SyncInfoAdapter syncInfoAdapter;
@ -88,6 +85,10 @@ public class HomeActivity extends AppCompatActivity {
protected void onResume() { protected void onResume() {
super.onResume(); super.onResume();
refreshRecyclerView(); refreshRecyclerView();
if (!preferenceManager.getShowLocalSyncsOnly()) {
fetchRemoteSyncs();
}
} }
@ -99,13 +100,6 @@ public class HomeActivity extends AppCompatActivity {
FloatingActionButton syncFab = findViewById(R.id.home_fab); FloatingActionButton syncFab = findViewById(R.id.home_fab);
syncFab.setOnClickListener(v -> startActivity(new Intent(HomeActivity.this, ExchangeActivity.class))); syncFab.setOnClickListener(v -> startActivity(new Intent(HomeActivity.this, ExchangeActivity.class)));
swipeRefreshLayout = findViewById(R.id.swipeRefresh);
swipeRefreshLayout.setOnRefreshListener(() -> {
onSwipeRefresh();
syncInfoAdapter.setItems(syncInformationList);
});
} }
private void initRecyclerView() { private void initRecyclerView() {
@ -174,12 +168,7 @@ public class HomeActivity extends AppCompatActivity {
} }
} }
private void onSwipeRefresh() { private void fetchRemoteSyncs() {
if (preferenceManager.getShowLocalSyncsOnly()) {
swipeRefreshLayout.setRefreshing(false);
return;
}
restClient.getAllServers(new MispRestClient.AllRawServersCallback() { restClient.getAllServers(new MispRestClient.AllRawServersCallback() {
@Override @Override
public void success(List<MispServer> mispServers) { public void success(List<MispServer> mispServers) {
@ -252,7 +241,6 @@ public class HomeActivity extends AppCompatActivity {
} }
@Override @Override
public void failure(String error) { public void failure(String error) {
swipeRefreshLayout.setRefreshing(false);
Snackbar.make(recyclerView, error, Snackbar.LENGTH_LONG).show(); Snackbar.make(recyclerView, error, Snackbar.LENGTH_LONG).show();
} }
}); });
@ -260,20 +248,16 @@ public class HomeActivity extends AppCompatActivity {
@Override @Override
public void failure(String error) { public void failure(String error) {
swipeRefreshLayout.setRefreshing(false);
Snackbar.make(recyclerView, error, Snackbar.LENGTH_LONG).show(); Snackbar.make(recyclerView, error, Snackbar.LENGTH_LONG).show();
} }
}); });
} }
} }
swipeRefreshLayout.setRefreshing(false);
} }
@Override @Override
public void failure(String error) { public void failure(String error) {
Snackbar.make(swipeRefreshLayout, error, Snackbar.LENGTH_SHORT).show(); Snackbar.make(recyclerView, error, Snackbar.LENGTH_SHORT).show();
swipeRefreshLayout.setRefreshing(false);
} }
}); });
} }

View File

@ -63,7 +63,7 @@ public class PreferenceActivity extends AppCompatActivity {
SwitchPreference fetchOnlyLocalSyncs = new SwitchPreference(context); SwitchPreference fetchOnlyLocalSyncs = new SwitchPreference(context);
fetchOnlyLocalSyncs.setTitle("Display local syncs only"); fetchOnlyLocalSyncs.setTitle("Display local syncs only");
fetchOnlyLocalSyncs.setSummaryOn("Only those syncs that were made with MISPbump are displayed."); fetchOnlyLocalSyncs.setSummaryOn("Only those syncs that were made with MISPbump are displayed.");
fetchOnlyLocalSyncs.setSummaryOff("Existing syncs from your MISP instance are fetched, too."); fetchOnlyLocalSyncs.setSummaryOff("Existing syncs from your MISP instance are fetched (experimental)");
fetchOnlyLocalSyncs.setChecked(preferenceManager.getShowLocalSyncsOnly()); fetchOnlyLocalSyncs.setChecked(preferenceManager.getShowLocalSyncsOnly());
fetchOnlyLocalSyncs.setOnPreferenceChangeListener((preference, newValue) -> { fetchOnlyLocalSyncs.setOnPreferenceChangeListener((preference, newValue) -> {
preferenceManager.setShowLocalSyncsOnly((boolean) newValue); preferenceManager.setShowLocalSyncsOnly((boolean) newValue);

View File

@ -18,18 +18,11 @@
app:popupTheme="@style/PopupTheme"/> app:popupTheme="@style/PopupTheme"/>
</com.google.android.material.appbar.AppBarLayout> </com.google.android.material.appbar.AppBarLayout>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout <androidx.recyclerview.widget.RecyclerView
android:id="@+id/swipeRefresh"
app:layout_behavior="@string/appbar_scrolling_view_behavior" app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:id="@+id/recyclerView"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent"> android:layout_height="match_parent" />
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
<TextView <TextView
android:id="@+id/empty" android:id="@+id/empty"