diff --git a/.idea/compiler.xml b/.idea/compiler.xml index 61a9130..fb7f4a8 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml new file mode 100644 index 0000000..43587ba --- /dev/null +++ b/.idea/deploymentTargetDropDown.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 23a89bb..2c7e034 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -4,7 +4,7 @@ diff --git a/.idea/misc.xml b/.idea/misc.xml index d5d35ec..f1674c3 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,6 +1,22 @@ - + + + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ede7754..539bde7 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -11,9 +11,12 @@ android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.Pogodacc"> + + android:label="@string/title_activity_trend" /> @@ -21,7 +24,7 @@ - + diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/AllStationsActivity.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/AllStationsActivity.java index ffcec18..ef12576 100644 --- a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/AllStationsActivity.java +++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/AllStationsActivity.java @@ -37,7 +37,7 @@ public class AllStationsActivity extends AppCompatActivity { WeatherStationRecyclerViewAdapter adapter = null; - adapter = new WeatherStationRecyclerViewAdapter(allStationsList.getList(), this); + adapter = new WeatherStationRecyclerViewAdapter(allStationsList.getList(), this, null); recyclerViewAllStations.setAdapter(adapter); diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/ExportDataActivity.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/ExportDataActivity.java new file mode 100644 index 0000000..1fe5023 --- /dev/null +++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/ExportDataActivity.java @@ -0,0 +1,28 @@ +package cc.pogoda.mobile.pogodacc.activity; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; +import android.widget.ArrayAdapter; +import android.widget.Spinner; + +import cc.pogoda.mobile.pogodacc.R; + +public class ExportDataActivity extends AppCompatActivity { + + Spinner formatSpinner; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_export_data); + + formatSpinner = findViewById(R.id.spinnerOutputFormat); + + ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.export_formats, android.R.layout.simple_spinner_item); + + adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); + + formatSpinner.setAdapter(adapter); + } +} \ No newline at end of file diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/FavouritesActivity.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/FavouritesActivity.java index 331ceb9..ca8f8ca 100644 --- a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/FavouritesActivity.java +++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/FavouritesActivity.java @@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView; import cc.pogoda.mobile.pogodacc.R; import cc.pogoda.mobile.pogodacc.adapter.WeatherStationRecyclerViewAdapter; import cc.pogoda.mobile.pogodacc.config.AppConfiguration; +import cc.pogoda.mobile.pogodacc.type.ParceableFavsCallReason; import cc.pogoda.mobile.pogodacc.type.ParceableStationsList; public class FavouritesActivity extends AppCompatActivity { @@ -33,6 +34,8 @@ public class FavouritesActivity extends AppCompatActivity { favourites = getIntent().getParcelableExtra("favs"); + ParceableFavsCallReason callReason = getIntent().getParcelableExtra("callReason"); + if (favourites == null || favourites.getList().size() == 0) { setContentView(R.layout.activity_favourites_empty); } @@ -44,7 +47,7 @@ public class FavouritesActivity extends AppCompatActivity { if (recyclerViewFavourites != null) { WeatherStationRecyclerViewAdapter adapter = null; - adapter = new WeatherStationRecyclerViewAdapter(favourites.getList(), this); + adapter = new WeatherStationRecyclerViewAdapter(favourites.getList(), this, callReason.getReason()); recyclerViewFavourites.setAdapter(adapter); diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/MainActivity.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/MainActivity.java index 5cff9dd..460a050 100644 --- a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/MainActivity.java +++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/MainActivity.java @@ -22,6 +22,7 @@ import java.util.Locale; import cc.pogoda.mobile.pogodacc.R; import cc.pogoda.mobile.pogodacc.activity.handler.MainActImageButtonAllStationsClickEvent; +import cc.pogoda.mobile.pogodacc.activity.handler.MainActImageButtonExportClickEvent; import cc.pogoda.mobile.pogodacc.activity.handler.MainActImageButtonFavouritesClickEvent; import cc.pogoda.mobile.pogodacc.dao.AllStationsDao; import cc.pogoda.mobile.pogodacc.file.FavouritiesFile; @@ -50,6 +51,8 @@ public class MainActivity extends AppCompatActivity { private ImageButton imageButtonFavourites; + private ImageButton exportButton; + public MainActivity() { } @@ -162,6 +165,12 @@ public class MainActivity extends AppCompatActivity { imageButtonFavourites = (ImageButton)findViewById(R.id.imageButtonFavourites); + // set an action for clicking on export data button + exportButton = (ImageButton)findViewById(R.id.imageButtonExport); + if (exportButton != null) { + exportButton.setOnClickListener(new MainActImageButtonExportClickEvent(this)); + } + // recreate list of favorites recreateListOfFavs(); } diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/handler/AllStationsActRecyclerViewButtonClickEvent.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/handler/AllStationsActRecyclerViewButtonClickEvent.java index 0268e19..ad512cc 100644 --- a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/handler/AllStationsActRecyclerViewButtonClickEvent.java +++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/handler/AllStationsActRecyclerViewButtonClickEvent.java @@ -6,6 +6,7 @@ import android.view.View; import androidx.appcompat.app.AppCompatActivity; import cc.pogoda.mobile.pogodacc.activity.StationDetailsActivity; +import cc.pogoda.mobile.pogodacc.type.ParceableFavsCallReason; import cc.pogoda.mobile.pogodacc.type.WeatherStation; public class AllStationsActRecyclerViewButtonClickEvent implements View.OnClickListener { @@ -16,19 +17,23 @@ public class AllStationsActRecyclerViewButtonClickEvent implements View.OnClickL Intent intent; - public AllStationsActRecyclerViewButtonClickEvent(WeatherStation wx, AppCompatActivity parent) { + ParceableFavsCallReason.Reason reason; + + public AllStationsActRecyclerViewButtonClickEvent(WeatherStation wx, AppCompatActivity parent, ParceableFavsCallReason.Reason r) { station = wx; p = parent; - + reason = r; } @Override public void onClick(View v) { - intent = new Intent(p, StationDetailsActivity.class); - intent.putExtra("station", station); + if (reason == null || reason == ParceableFavsCallReason.Reason.FAVOURITES) { + intent = new Intent(p, StationDetailsActivity.class); + intent.putExtra("station", station); - p.startActivity(intent); + p.startActivity(intent); - return; + return; + } } } diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/handler/MainActImageButtonExportClickEvent.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/handler/MainActImageButtonExportClickEvent.java new file mode 100644 index 0000000..9e76626 --- /dev/null +++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/handler/MainActImageButtonExportClickEvent.java @@ -0,0 +1,28 @@ +package cc.pogoda.mobile.pogodacc.activity.handler; + +import android.content.Intent; +import android.view.View; + +import androidx.appcompat.app.AppCompatActivity; + +import cc.pogoda.mobile.pogodacc.activity.AllStationsActivity; +import cc.pogoda.mobile.pogodacc.activity.ExportDataActivity; + +public class MainActImageButtonExportClickEvent implements View.OnClickListener{ + + AppCompatActivity parent; + + Intent intent; + + public MainActImageButtonExportClickEvent(AppCompatActivity p) { + parent = p; + + intent = new Intent(this.parent, ExportDataActivity.class); + } + + @Override + public void onClick(View view) { + + parent.startActivity(intent); + } +} diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/handler/MainActImageButtonFavouritesClickEvent.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/handler/MainActImageButtonFavouritesClickEvent.java index ae40599..1e47c60 100644 --- a/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/handler/MainActImageButtonFavouritesClickEvent.java +++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/activity/handler/MainActImageButtonFavouritesClickEvent.java @@ -6,6 +6,7 @@ import android.view.View; import androidx.appcompat.app.AppCompatActivity; import cc.pogoda.mobile.pogodacc.activity.FavouritesActivity; +import cc.pogoda.mobile.pogodacc.type.ParceableFavsCallReason; import cc.pogoda.mobile.pogodacc.type.ParceableStationsList; public class MainActImageButtonFavouritesClickEvent implements View.OnClickListener{ @@ -19,6 +20,9 @@ public class MainActImageButtonFavouritesClickEvent implements View.OnClickListe intent = new Intent(this.parent, FavouritesActivity.class); intent.putExtra("favs", favs); + + ParceableFavsCallReason callReason = new ParceableFavsCallReason(ParceableFavsCallReason.Reason.FAVOURITES); + intent.putExtra("callReason", callReason); } @Override diff --git a/app/src/main/java/cc/pogoda/mobile/pogodacc/adapter/WeatherStationRecyclerViewAdapter.java b/app/src/main/java/cc/pogoda/mobile/pogodacc/adapter/WeatherStationRecyclerViewAdapter.java index 93bd47c..62497e4 100644 --- a/app/src/main/java/cc/pogoda/mobile/pogodacc/adapter/WeatherStationRecyclerViewAdapter.java +++ b/app/src/main/java/cc/pogoda/mobile/pogodacc/adapter/WeatherStationRecyclerViewAdapter.java @@ -16,6 +16,7 @@ import java.util.List; import cc.pogoda.mobile.pogodacc.R; import cc.pogoda.mobile.pogodacc.activity.handler.AllStationsActRecyclerViewButtonClickEvent; import cc.pogoda.mobile.pogodacc.activity.view.AllStationsActRecyclerViewHolder; +import cc.pogoda.mobile.pogodacc.type.ParceableFavsCallReason; import cc.pogoda.mobile.pogodacc.type.WeatherStation; public class WeatherStationRecyclerViewAdapter extends RecyclerView.Adapter { @@ -24,9 +25,12 @@ public class WeatherStationRecyclerViewAdapter extends RecyclerView.Adapter stations, AppCompatActivity parentActivity) { + ParceableFavsCallReason.Reason reason; + + public WeatherStationRecyclerViewAdapter(List stations, AppCompatActivity parentActivity, ParceableFavsCallReason.Reason callReason) { this.stations = stations; this.activity = parentActivity; + this.reason = callReason; } @NonNull @@ -54,7 +58,7 @@ public class WeatherStationRecyclerViewAdapter extends RecyclerView.Adapter CREATOR = new Creator() { + @Override + public ParceableFavsCallReason createFromParcel(Parcel in) { + return new ParceableFavsCallReason(in); + } + + @Override + public ParceableFavsCallReason[] newArray(int size) { + return new ParceableFavsCallReason[size]; + } + }; + +} diff --git a/app/src/main/res/layout/activity_export_data.xml b/app/src/main/res/layout/activity_export_data.xml new file mode 100644 index 0000000..0a2424d --- /dev/null +++ b/app/src/main/res/layout/activity_export_data.xml @@ -0,0 +1,45 @@ + + + + +