2222package nl .hnogames .domoticz ;
2323
2424import android .os .Bundle ;
25+ import android .util .Log ;
26+ import android .view .Menu ;
27+ import android .view .MenuItem ;
2528
2629import androidx .appcompat .widget .Toolbar ;
2730
2831import com .ftinc .scoop .Scoop ;
2932
3033import nl .hnogames .domoticz .app .AppCompatPermissionsActivity ;
3134import nl .hnogames .domoticz .fragments .Logs ;
35+ import nl .hnogames .domoticz .ui .SortDialog ;
3236import nl .hnogames .domoticz .utils .SharedPrefUtil ;
3337import nl .hnogames .domoticz .utils .UsefulBits ;
3438
3539public class LogsActivity extends AppCompatPermissionsActivity {
40+ private Logs fragment ;
3641
3742 @ Override
3843 protected void onCreate (Bundle savedInstanceState ) {
@@ -42,7 +47,8 @@ protected void onCreate(Bundle savedInstanceState) {
4247 Scoop .getInstance ().apply (this );
4348 super .onCreate (savedInstanceState );
4449
45- setContentView (R .layout .activity_graph );
50+ setContentView (R .layout .activity_logs );
51+
4652 Toolbar toolbar = findViewById (R .id .toolbar );
4753 setSupportActionBar (toolbar );
4854 this .setTitle (getString (R .string .title_logs ));
@@ -53,9 +59,43 @@ protected void onCreate(Bundle savedInstanceState) {
5359 if (getSupportActionBar () != null )
5460 getSupportActionBar ().setDisplayHomeAsUpEnabled (true );
5561
56- Logs fragment = new Logs ();
62+ fragment = new Logs ();
5763 getSupportFragmentManager ().beginTransaction ()
5864 .replace (R .id .main , fragment )
5965 .commit ();
6066 }
67+
68+ @ Override
69+ public boolean onCreateOptionsMenu (Menu menu ) {
70+ getMenuInflater ().inflate (R .menu .menu_logs_sort , menu );
71+ return super .onCreateOptionsMenu (menu );
72+ }
73+
74+ @ Override
75+
76+ public boolean onOptionsItemSelected (MenuItem item ) {
77+ try {
78+ switch (item .getItemId ()) {
79+ case R .id .action_sort :
80+ SortDialog infoDialog = new SortDialog (
81+ this ,
82+ R .layout .dialog_switch_logs ,
83+ new String []{getString (R .string .filter_all ), getString (R .string .filter_normal ), getString (R .string .filter_status ), getString (R .string .filter_error )});
84+
85+ infoDialog .onDismissListener (selectedSort -> {
86+ Log .i ("Logs" , "Sorting: " + selectedSort );
87+ fragment .sortFragment (selectedSort );
88+ });
89+
90+ infoDialog .show ();
91+ return true ;
92+ default :
93+ break ;
94+ }
95+ } catch (Exception ex ) {
96+ ex .printStackTrace ();
97+ }
98+
99+ return super .onOptionsItemSelected (item );
100+ }
61101}
0 commit comments