Skip to content

Commit

Permalink
Add DatabaseSettingsActivity
Browse files Browse the repository at this point in the history
  • Loading branch information
teccheck committed Mar 16, 2021
1 parent 9072103 commit 2dc94f2
Show file tree
Hide file tree
Showing 8 changed files with 136 additions and 1 deletion.
3 changes: 3 additions & 0 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.StoRe">
<activity
android:name=".DatabaseSettingsActivity"
android:label="@string/title_activity_database_settings" />
<activity
android:name=".DatabaseListActivity"
android:label="@string/title_activity_database_list" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ public void onItemClick(int index, Object item) {

@Override
public void onItemSettingsClick(int index, Object item) {
// TODO: start DatabaseSettingsActivity
startActivity(new Intent(getApplicationContext(), DatabaseSettingsActivity.class));
}
}));

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
package io.github.storagereloaded.android;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.widget.EditText;

import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
import com.google.android.material.textfield.TextInputLayout;

public class DatabaseSettingsActivity extends AppCompatActivity {

EditText name;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_database_settings);

MaterialToolbar toolbar = findViewById(R.id.toolbar);
toolbar.setNavigationOnClickListener(v -> onBackPressed());

TextInputLayout til = findViewById(R.id.database_name);
name = til.getEditText();
}

@Override
public void onBackPressed() {
if (name.getText().toString().equals(""))
finish();
else
showUnsavedDialog();
}

private void showUnsavedDialog() {
MaterialAlertDialogBuilder builder = new MaterialAlertDialogBuilder(this);
builder.setTitle(R.string.unsaved_dialog_title);
builder.setMessage(R.string.unsaved_dialog_description);
builder.setPositiveButton(android.R.string.ok, (dialog, which) -> finish());
builder.setNegativeButton(android.R.string.cancel, null);

builder.create().show();
}
}
10 changes: 10 additions & 0 deletions app/src/main/res/drawable/ic_baseline_close_24.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
android:tint="?attr/colorControlNormal">
<path
android:fillColor="@android:color/white"
android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z"/>
</vector>
47 changes: 47 additions & 0 deletions app/src/main/res/layout/activity_database_settings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<com.google.android.material.appbar.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">

<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbar"
style="@style/Widget.MaterialComponents.Toolbar.Primary"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:menu="@menu/menu_database_settings"
app:navigationIcon="@drawable/ic_baseline_close_24"
app:title="@string/title_activity_database_settings" />

</com.google.android.material.appbar.AppBarLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp"
app:layout_behavior="@string/appbar_scrolling_view_behavior">

<com.google.android.material.textfield.TextInputLayout
android:id="@+id/database_name"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:hint="@string/database_name">

<com.google.android.material.textfield.TextInputEditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="actionDone"
android:inputType="text"
android:textColor="?attr/colorOnBackground" />

</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>

</androidx.coordinatorlayout.widget.CoordinatorLayout>
12 changes: 12 additions & 0 deletions app/src/main/res/menu/menu_database_settings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<item
android:id="@+id/save"
android:title="@string/save"
app:showAsAction="always" />
<item
android:id="@+id/delete"
android:title="@string/delete" />
</menu>
9 changes: 9 additions & 0 deletions app/src/main/res/values-de/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,4 +44,13 @@
<!-- DatabaseListActivity -->
<string name="title_activity_database_list">Datenbank auswählen</string>
<string name="database_settings">Datenbank Einstellungen</string>

<!-- Database Settings Activity -->
<string name="title_activity_database_settings">Datenbank Einstellungen</string>
<string name="database_name">Datenbank Name</string>
<string name="save">Speichern</string>
<string name="delete">Löschen</string>

<string name="unsaved_dialog_title">Wirklich verlassen?</string>
<string name="unsaved_dialog_description">Nicht gespeicherte Änderungen gehen verloren.</string>
</resources>
9 changes: 9 additions & 0 deletions app/src/main/res/values/strings.xml
Original file line number Diff line number Diff line change
Expand Up @@ -48,4 +48,13 @@
<!-- Database List Activity -->
<string name="title_activity_database_list">Select Database</string>
<string name="database_settings">Database Settings</string>

<!-- Database Settings Activity -->
<string name="title_activity_database_settings">Database Settings</string>
<string name="database_name">Database Name</string>
<string name="save">Save</string>
<string name="delete">Delete</string>

<string name="unsaved_dialog_title">Do you really want to leave?</string>
<string name="unsaved_dialog_description">Some unsaved changes will be lost.</string>
</resources>

0 comments on commit 2dc94f2

Please sign in to comment.