MeteoSystem/app/src/main/java/cc/pogoda/mobile/meteosystem/activity/FavouritesActivity.java

136 wiersze
3.9 KiB
Java
Czysty Zwykły widok Historia

2021-12-10 10:21:06 +00:00
package cc.pogoda.mobile.meteosystem.activity;
2021-01-21 09:13:48 +00:00
import android.os.Bundle;
import android.view.Menu;
2021-11-11 12:13:55 +00:00
import android.view.MenuItem;
2021-01-21 09:13:48 +00:00
2021-11-11 12:13:55 +00:00
import androidx.annotation.NonNull;
2021-01-21 09:13:48 +00:00
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
2021-02-07 12:48:25 +00:00
import androidx.recyclerview.widget.LinearLayoutManager;
2021-01-21 09:13:48 +00:00
import androidx.recyclerview.widget.RecyclerView;
import java.util.ArrayList;
2021-11-11 12:13:55 +00:00
import java.util.Comparator;
import java.util.List;
2021-11-11 12:13:55 +00:00
import cc.pogoda.mobile.meteosystem.Main;
2021-12-10 10:21:06 +00:00
import cc.pogoda.mobile.meteosystem.R;
import cc.pogoda.mobile.meteosystem.adapter.WeatherStationRecyclerViewAdapter;
import cc.pogoda.mobile.meteosystem.type.ParceableFavsCallReason;
import cc.pogoda.mobile.meteosystem.type.ParceableStationsList;
import cc.pogoda.mobile.meteosystem.type.WeatherStation;
2021-01-21 09:13:48 +00:00
public class FavouritesActivity extends AppCompatActivity {
Main main;
2021-01-21 09:13:48 +00:00
RecyclerView recyclerViewFavourites;
List<WeatherStation> favourites, sortedFavourites;
2021-11-11 12:13:55 +00:00
boolean sorting = false;
WeatherStationRecyclerViewAdapter adapter = null;
ParceableFavsCallReason callReason;
private class WxStationComparator implements Comparator<WeatherStation> {
@Override
public int compare(WeatherStation station, WeatherStation t1) {
String name = station.getDisplayedName();
String name1 = t1.getDisplayedName();
return (name.compareTo(name1));
}
}
2021-08-12 20:42:41 +00:00
2021-01-21 09:13:48 +00:00
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_favourites, menu);
return true;
}
2021-11-11 12:13:55 +00:00
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
//return super.onOptionsItemSelected(item);
switch (item.getItemId()) {
case R.id.fav_sort_alph_oder:
sorting = true;
if (recyclerViewFavourites != null) {
adapter = new WeatherStationRecyclerViewAdapter(sortedFavourites, this, callReason.getReason());
2021-11-11 12:13:55 +00:00
2021-11-25 20:13:27 +00:00
adapter.createAndStartUpdater();
2021-11-11 12:13:55 +00:00
recyclerViewFavourites.setAdapter(adapter);
}
break;
case R.id.fav_sort_add_order:
sorting = false;
if (recyclerViewFavourites != null) {
adapter = new WeatherStationRecyclerViewAdapter(favourites, this, callReason.getReason());
2021-11-11 12:13:55 +00:00
2021-11-25 20:13:27 +00:00
adapter.createAndStartUpdater();
2021-11-11 12:13:55 +00:00
recyclerViewFavourites.setAdapter(adapter);
}
break;
case R.id.fav_remove_noext:
break;
}
return true;
}
2021-01-21 09:13:48 +00:00
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//favourites = getIntent().getParcelableExtra("favs");
main = (Main)getApplication();
2021-08-12 20:42:41 +00:00
favourites = main.getFavs();
sortedFavourites = new ArrayList<>(favourites);
2021-11-11 12:13:55 +00:00
sortedFavourites.sort(new WxStationComparator());
2021-11-11 12:13:55 +00:00
callReason = getIntent().getParcelableExtra("callReason");
2021-10-13 19:00:10 +00:00
if (favourites == null || favourites.size() == 0) {
2021-02-07 12:48:25 +00:00
setContentView(R.layout.activity_favourites_empty);
}
else {
setContentView(R.layout.activity_favourites);
recyclerViewFavourites = findViewById(R.id.recyclerViewFavourites);
if (recyclerViewFavourites != null) {
adapter = new WeatherStationRecyclerViewAdapter(favourites, this, callReason.getReason());
2021-01-21 09:13:48 +00:00
2021-11-25 20:13:27 +00:00
adapter.createAndStartUpdater();
2021-02-07 12:48:25 +00:00
recyclerViewFavourites.setAdapter(adapter);
2021-01-21 09:13:48 +00:00
2021-02-07 12:48:25 +00:00
recyclerViewFavourites.setLayoutManager(new LinearLayoutManager(this));
}
2021-01-21 09:13:48 +00:00
}
}
2021-11-25 20:13:27 +00:00
@Override
protected void onDestroy() {
super.onDestroy();
if (adapter != null) {
adapter.stopUpdater();
}
2021-11-25 20:13:27 +00:00
}
2021-01-21 09:13:48 +00:00
}