diff --git a/.gitignore b/.gitignore index 50a88d8..b0aa06e 100644 --- a/.gitignore +++ b/.gitignore @@ -106,3 +106,4 @@ app/release/output-metadata.json # Other app/src/main/java/it/danieleverducci/lunatracker/TemporaryHardcodedCredentials.kt +.kotlin/sessions/* diff --git a/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt b/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt index 26d8a93..ec65d8a 100644 --- a/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt +++ b/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt @@ -7,9 +7,12 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.AdapterView +import android.widget.ArrayAdapter import android.widget.EditText import android.widget.NumberPicker import android.widget.PopupWindow +import android.widget.Spinner import android.widget.TextView import android.widget.Toast import androidx.appcompat.app.AlertDialog @@ -324,41 +327,28 @@ class MainActivity : AppCompatActivity() { logbookRepo?.listLogbooks(this, object: LogbookListObtainedListener { override fun onLogbookListObtained(logbooksNames: ArrayList) { runOnUiThread({ - // Show logbooks buttons - val logbooksButtonsContainer = - findViewById(R.id.logbooks_buttons_container) - logbooksButtonsContainer.removeAllViews() - for (lbn in logbooksNames) { - val lbnButton = layoutInflater.inflate( - R.layout.logbook_button, - logbooksButtonsContainer, - false - ) as TextView - lbnButton.setText( - if (lbn.isEmpty()) getString(R.string.default_logbook_name) else lbn - ) - lbnButton.setTag(lbn) - lbnButton.setOnClickListener({ + // Show logbooks dropdown + val spinner = findViewById(R.id.logbooks_spinner) + val sAdapter = ArrayAdapter(this@MainActivity, android.R.layout.simple_spinner_item) + sAdapter.addAll(logbooksNames) + spinner.adapter = sAdapter + spinner.onItemSelectedListener = object: AdapterView.OnItemSelectedListener { + override fun onItemSelected( + parent: AdapterView<*>?, + view: View?, + position: Int, + id: Long + ) { // Changed logbook: empty list adapter.items.clear() adapter.notifyDataSetChanged() // Load logbook - loadLogbook(lbn) - }) - logbooksButtonsContainer.addView(lbnButton) - } - // Show "Add logbook" button - val addLogbookButton = layoutInflater.inflate( - R.layout.logbook_button, - logbooksButtonsContainer, - false - ) as TextView - addLogbookButton.setText("+") - addLogbookButton.setOnClickListener({showAddLogbookDialog()}) - logbooksButtonsContainer.addView(addLogbookButton) + loadLogbook(logbooksNames.get(position)) + } - // Load logbook - loadLogbook() + override fun onNothingSelected(parent: AdapterView<*>?) {} + + } }) } @@ -399,7 +389,6 @@ class MainActivity : AppCompatActivity() { findViewById(R.id.no_connection_screen).visibility = View.GONE logbook = lb showLogbook() - selectLogbookButton(name) if (DEBUG_CHECK_LOGBOOK_CONSISTENCY) { for (e in logbook.logs) { @@ -610,20 +599,4 @@ class MainActivity : AppCompatActivity() { showingOverflowPopupWindow = true } } - - private fun selectLogbookButton(logbookName: String) { - val logbooksButtonsContainer = - findViewById(R.id.logbooks_buttons_container) - for (lb in logbooksButtonsContainer.children) { - if (lb.tag != null && lb.tag.toString().equals(logbookName)) { - // Selected - lb.setBackgroundColor(ContextCompat.getColor(this, R.color.accent)) - (lb as TextView).setTextColor(ContextCompat.getColor(this, R.color.black)) - } else { - // Not selected - lb.setBackgroundColor(ContextCompat.getColor(this, R.color.transparent)) - (lb as TextView).setTextColor(ContextCompat.getColor(this, R.color.accent)) - } - } - } } diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index c82b5b1..72028fe 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -43,22 +43,41 @@ app:tint="@color/grey"/> - - + android:layout_height="38dp" + android:layout_margin="10dp" + android:orientation="horizontal" + android:gravity="center_vertical"> - + + + + + + + android:layout_height="match_parent" + android:layout_marginLeft="10dp" + android:paddingLeft="16dp" + android:paddingRight="16dp" + android:textStyle="bold" + android:textColor="@color/accent" + android:textSize="20dp" + android:text="+" + android:background="@drawable/button_background"/> - - - + - \ No newline at end of file