diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml index 88ea3aa..3cc336b 100644 --- a/.idea/codeStyles/Project.xml +++ b/.idea/codeStyles/Project.xml @@ -1,6 +1,22 @@ + + diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a638797..27b6f60 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -6,7 +6,7 @@ - + diff --git a/app/src/main/java/oppen/tva/Tva.kt b/app/src/main/java/oppen/tva/Gem.kt similarity index 92% rename from app/src/main/java/oppen/tva/Tva.kt rename to app/src/main/java/oppen/tva/Gem.kt index 60a324d..68f61b5 100644 --- a/app/src/main/java/oppen/tva/Tva.kt +++ b/app/src/main/java/oppen/tva/Gem.kt @@ -2,7 +2,7 @@ package oppen.tva import android.app.Application -class Tva: Application() { +class Gem: Application() { companion object{ const val DEFAULT_HOME_CAPSULE = "gemini://gemini.circumlunar.space/~oppen/gem/index.gmi" diff --git a/app/src/main/java/oppen/tva/ui/TvaActivity.kt b/app/src/main/java/oppen/tva/ui/GemActivity.kt similarity index 95% rename from app/src/main/java/oppen/tva/ui/TvaActivity.kt rename to app/src/main/java/oppen/tva/ui/GemActivity.kt index dbf0f30..c42590b 100644 --- a/app/src/main/java/oppen/tva/ui/TvaActivity.kt +++ b/app/src/main/java/oppen/tva/ui/GemActivity.kt @@ -9,13 +9,14 @@ import android.view.inputmethod.EditorInfo import androidx.activity.viewModels import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AppCompatActivity +import androidx.appcompat.app.AppCompatDialog import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.LinearLayoutManager import com.google.android.material.snackbar.Snackbar import oppen.hideKeyboard import oppen.tva.R -import oppen.tva.Tva -import oppen.tva.databinding.ActivityTvaBinding +import oppen.tva.Gem +import oppen.tva.databinding.ActivityGemBinding import oppen.tva.io.GemState import oppen.tva.io.bookmarks.BookmarksDatasource import oppen.tva.io.gemini.Datasource @@ -23,6 +24,7 @@ import oppen.tva.io.gemini.GeminiResponse import oppen.tva.io.gemini.RuntimeCache import oppen.tva.io.history.uris.HistoryInterface import oppen.tva.ui.audio_player.AudioPlayer +import oppen.tva.ui.bookmarks.BookmarkDialog import oppen.tva.ui.content_image.ImageDialog import oppen.tva.ui.content_text.TextDialog import oppen.tva.ui.modals_menus.about.AboutDialog @@ -40,14 +42,14 @@ import java.net.URLEncoder const val CREATE_IMAGE_FILE_REQ = 628 const val CREATE_AUDIO_FILE_REQ = 629 -class TvaActivity : AppCompatActivity() { +class GemActivity : AppCompatActivity() { private var inSearch = false private val mediaPlayer = MediaPlayer() - private val model by viewModels() - private lateinit var binding: ActivityTvaBinding + private val model by viewModels() + private lateinit var binding: ActivityGemBinding private lateinit var history: HistoryInterface private val adapter = GemtextAdapter { uri, longTap, view -> if(longTap){ @@ -75,7 +77,7 @@ class TvaActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - binding = DataBindingUtil.setContentView(this, R.layout.activity_tva) + binding = DataBindingUtil.setContentView(this, R.layout.activity_gem) binding.viewmodel = model binding.lifecycleOwner = this @@ -117,7 +119,7 @@ class TvaActivity : AppCompatActivity() { if(input.startsWith("gemini://")){ model.request(input) }else{ - model.request("${Tva.GEMINI_USER_SEARCH_BASE}${URLEncoder.encode(input, "UTF-8")}") + model.request("${Gem.GEMINI_USER_SEARCH_BASE}${URLEncoder.encode(input, "UTF-8")}") } binding.addressEdit.hideKeyboard() @@ -138,14 +140,14 @@ class TvaActivity : AppCompatActivity() { inSearch = true } R.id.overflow_menu_bookmark -> { - //todo + BookmarkDialog(this, "test", "test").show() } R.id.overflow_menu_bookmarks -> { //todo } R.id.overflow_menu_backlinks -> { val currentAddress = binding.addressEdit.text.toString() - val backlinkAddress = "${Tva.GEMINI_BACKLINK_BASE}$currentAddress" + val backlinkAddress = "${Gem.GEMINI_BACKLINK_BASE}$currentAddress" model.request(backlinkAddress) } R.id.overflow_menu_share -> { @@ -175,7 +177,7 @@ class TvaActivity : AppCompatActivity() { } binding.home.setOnClickListener { val prefs = getSharedPreferences("oppen.tva.ui.dialogs.set_home", Context.MODE_PRIVATE) - val home = prefs.getString("home", Tva.DEFAULT_HOME_CAPSULE) + val home = prefs.getString("home", Gem.DEFAULT_HOME_CAPSULE) model.request(home!!) } } diff --git a/app/src/main/java/oppen/tva/ui/TvaViewModel.kt b/app/src/main/java/oppen/tva/ui/GemViewModel.kt similarity index 92% rename from app/src/main/java/oppen/tva/ui/TvaViewModel.kt rename to app/src/main/java/oppen/tva/ui/GemViewModel.kt index 5debd77..ef46323 100644 --- a/app/src/main/java/oppen/tva/ui/TvaViewModel.kt +++ b/app/src/main/java/oppen/tva/ui/GemViewModel.kt @@ -1,13 +1,13 @@ package oppen.tva.ui import androidx.lifecycle.ViewModel -import oppen.tva.Tva +import oppen.tva.Gem import oppen.tva.io.gemini.Datasource import oppen.tva.io.GemState import oppen.tva.io.bookmarks.BookmarksDatasource import java.net.URI -class TvaViewModel: ViewModel() { +class GemViewModel: ViewModel() { private lateinit var gemini: Datasource private lateinit var bookmarks: BookmarksDatasource @@ -20,7 +20,7 @@ class TvaViewModel: ViewModel() { this.bookmarks = bookmarks this.onState = onState - request(URI.create(Tva.DEFAULT_HOME_CAPSULE))//todo - regression: should check prefs... + request(URI.create(Gem.DEFAULT_HOME_CAPSULE))//todo - regression: should check prefs... onState(GemState.TabChange(1)) } @@ -44,7 +44,6 @@ class TvaViewModel: ViewModel() { @ExperimentalStdlibApi fun goBack(){ when { - history.size >= 2 -> { logHistory() val previous = history[history.size - 2] diff --git a/app/src/main/java/oppen/tva/ui/audio_player/AudioPlayer.kt b/app/src/main/java/oppen/tva/ui/audio_player/AudioPlayer.kt index 307d535..5205611 100644 --- a/app/src/main/java/oppen/tva/ui/audio_player/AudioPlayer.kt +++ b/app/src/main/java/oppen/tva/ui/audio_player/AudioPlayer.kt @@ -7,14 +7,14 @@ import android.view.MenuInflater import androidx.appcompat.widget.PopupMenu import androidx.core.view.MenuCompat import oppen.tva.R -import oppen.tva.databinding.ActivityTvaBinding +import oppen.tva.databinding.ActivityGemBinding import oppen.tva.io.GemState import oppen.visible object AudioPlayer { fun play(context: Context, - binding: ActivityTvaBinding, + binding: ActivityGemBinding, mediaPlayer: MediaPlayer, state: GemState.ResponseAudio, onSaveAudio: (state: GemState.ResponseAudio) -> Unit){ diff --git a/app/src/main/java/oppen/tva/ui/bookmarks/BookmarkDialog.kt b/app/src/main/java/oppen/tva/ui/bookmarks/BookmarkDialog.kt new file mode 100644 index 0000000..1b551ed --- /dev/null +++ b/app/src/main/java/oppen/tva/ui/bookmarks/BookmarkDialog.kt @@ -0,0 +1,30 @@ +package oppen.tva.ui.bookmarks + +import android.app.Dialog +import android.content.Context +import android.os.Bundle +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import android.view.WindowManager +import androidx.appcompat.app.AppCompatDialog +import androidx.fragment.app.DialogFragment +import kotlinx.android.synthetic.main.fragment_bookmark_dialog.view.* +import oppen.tva.R + + +class BookmarkDialog(context: Context, val uri: String, val name: String): AppCompatDialog(context, R.style.FSDialog) { + + init { + setContentView(R.layout.fragment_bookmark_dialog) + //getWindow()?.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); + } + + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + + + + } +} \ No newline at end of file diff --git a/app/src/main/res/anim/fade_in.xml b/app/src/main/res/anim/fade_in.xml new file mode 100644 index 0000000..3b0c30e --- /dev/null +++ b/app/src/main/res/anim/fade_in.xml @@ -0,0 +1,6 @@ + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_tva.xml b/app/src/main/res/layout/activity_gem.xml similarity index 98% rename from app/src/main/res/layout/activity_tva.xml rename to app/src/main/res/layout/activity_gem.xml index b7184e2..4d88bee 100644 --- a/app/src/main/res/layout/activity_tva.xml +++ b/app/src/main/res/layout/activity_gem.xml @@ -1,7 +1,7 @@ - + + tools:context=".ui.GemActivity"> + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 231d602..814bdd2 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -29,4 +29,6 @@ Backlinks Add Bookmark Bookmarks + Name + Gemini URL \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 4872b44..8ff00ba 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -10,6 +10,9 @@ true +