diff --git a/app/src/main/java/oppen/tva/io/GeminiDatasource.kt b/app/src/main/java/oppen/tva/io/GeminiDatasource.kt index e0c03ee..871203c 100644 --- a/app/src/main/java/oppen/tva/io/GeminiDatasource.kt +++ b/app/src/main/java/oppen/tva/io/GeminiDatasource.kt @@ -154,6 +154,7 @@ class GeminiDatasource: Datasource{ val processed = GemtextHelper.findCodeBlocks(lines) RuntimeCache.put(uri, header, processed) + onUpdate(TvaState.ResponseGemtext(uri, header, processed)) } diff --git a/app/src/main/java/oppen/tva/ui/TvaActivity.kt b/app/src/main/java/oppen/tva/ui/TvaActivity.kt index a85eaac..f5439ff 100644 --- a/app/src/main/java/oppen/tva/ui/TvaActivity.kt +++ b/app/src/main/java/oppen/tva/ui/TvaActivity.kt @@ -18,8 +18,9 @@ import oppen.tva.databinding.ActivityTvaBinding import oppen.tva.io.GeminiResponse import oppen.tva.io.TvaState import oppen.tva.io.history.CacheInterface +import oppen.tva.ui.about.AboutDialog import oppen.tva.ui.overflow.OverflowPopup -import oppen.tva.ui.set_home.SetHome +import oppen.tva.ui.set_home.SetHomeDialog import oppen.tva.ui.tabs.NewTabPopup import oppen.tva.ui.tabs.TabsDialog import oppen.visibleRetainingSpace @@ -90,11 +91,9 @@ class TvaActivity : AppCompatActivity() { startActivity(Intent.createChooser(this, null)) } } - R.id.overflow_menu_about -> { - - } + R.id.overflow_menu_about -> AboutDialog.show(this) R.id.overflow_menu_set_home -> { - SetHome.show(this, binding.addressEdit.text.toString()){ + SetHomeDialog.show(this, binding.addressEdit.text.toString()){ showAlert("Home capsule updated") } } diff --git a/app/src/main/java/oppen/tva/ui/about/AboutDialog.kt b/app/src/main/java/oppen/tva/ui/about/AboutDialog.kt new file mode 100644 index 0000000..5402fe2 --- /dev/null +++ b/app/src/main/java/oppen/tva/ui/about/AboutDialog.kt @@ -0,0 +1,41 @@ +package oppen.tva.ui.about + +import android.content.Context +import android.content.Intent +import android.net.Uri +import android.view.View +import androidx.appcompat.app.AppCompatDialog +import kotlinx.android.synthetic.main.dialog_about.view.* +import oppen.tva.BuildConfig +import oppen.tva.R + +object AboutDialog { + + fun show(context: Context){ + val dialog = AppCompatDialog(context, R.style.AppTheme) + + val view = View.inflate(context, R.layout.dialog_about, null) + dialog.setContentView(view) + + view.close_tab_dialog.setOnClickListener { + dialog.dismiss() + } + + view.version_label.text = BuildConfig.VERSION_NAME; + + view.gnu_license_button.setOnClickListener { + context.startActivity(Intent(Intent.ACTION_VIEW).apply { + data = Uri.parse("https://www.gnu.org/licenses/gpl-3.0.html") + }) + } + + view.oppenlab_button.setOnClickListener { + context.startActivity(Intent(Intent.ACTION_VIEW).apply { + data = Uri.parse("https://oppenlab.net") + }) + } + + + dialog.show() + } +} \ No newline at end of file diff --git a/app/src/main/java/oppen/tva/ui/set_home/SetHome.kt b/app/src/main/java/oppen/tva/ui/set_home/SetHomeDialog.kt similarity index 97% rename from app/src/main/java/oppen/tva/ui/set_home/SetHome.kt rename to app/src/main/java/oppen/tva/ui/set_home/SetHomeDialog.kt index b4069d2..6a7971f 100644 --- a/app/src/main/java/oppen/tva/ui/set_home/SetHome.kt +++ b/app/src/main/java/oppen/tva/ui/set_home/SetHomeDialog.kt @@ -6,7 +6,7 @@ import androidx.appcompat.app.AppCompatDialog import kotlinx.android.synthetic.main.dialog_set_home.view.* import oppen.tva.R -object SetHome { +object SetHomeDialog { fun show(context: Context, currentAddress: String, onUpdate: () -> Unit){ val prefs = context.getSharedPreferences("oppen.tva.ui.set_home", Context.MODE_PRIVATE) diff --git a/app/src/main/res/drawable-v24/vector_olab.xml b/app/src/main/res/drawable-v24/vector_olab.xml new file mode 100644 index 0000000..f2abfbf --- /dev/null +++ b/app/src/main/res/drawable-v24/vector_olab.xml @@ -0,0 +1,21 @@ + + + + + + + diff --git a/app/src/main/res/layout/dialog_about.xml b/app/src/main/res/layout/dialog_about.xml new file mode 100644 index 0000000..e14f6ce --- /dev/null +++ b/app/src/main/res/layout/dialog_about.xml @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 1260cde..01bfd74 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -1,6 +1,7 @@ 8dp + 16dp 12dp 16sp 14sp diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 8d678b0..9d796cf 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -8,4 +8,12 @@ Gemini address Share Set home + Home icon by Creative Stall from the Noun Project + Två: Gemini protocol client from Öppenlab + GPL v3 + Copyright © 2020 Öppenlab + GNU General Public License, version 3\n +\nThis program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or any later version.\n +\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n +\nYou should have received a copy of the GNU General Public License along with this program. If not, see www.gnu.org/licenses \ No newline at end of file