mirror of
https://git.sr.ht/~thestr4ng3r/chiaki
synced 2025-08-14 18:57:07 -07:00
Android Wakeup Dialog
This commit is contained in:
parent
ec569b5d71
commit
83777c4fa4
6 changed files with 55 additions and 32 deletions
|
@ -18,31 +18,30 @@
|
|||
package com.metallic.chiaki.main
|
||||
|
||||
import android.app.ActivityOptions
|
||||
import android.app.AlertDialog
|
||||
import android.content.Intent
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import android.os.Bundle
|
||||
import android.view.Menu
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.animation.AnimationUtils
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.lifecycle.Observer
|
||||
import androidx.lifecycle.ViewModelProviders
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.metallic.chiaki.R
|
||||
import com.metallic.chiaki.TestStartActivity
|
||||
import com.metallic.chiaki.common.DiscoveredDisplayHost
|
||||
import com.metallic.chiaki.common.DisplayHost
|
||||
import com.metallic.chiaki.common.Preferences
|
||||
import com.metallic.chiaki.common.ext.RevealActivity
|
||||
import com.metallic.chiaki.common.ext.putRevealExtra
|
||||
import com.metallic.chiaki.common.getDatabase
|
||||
import com.metallic.chiaki.common.ext.viewModelFactory
|
||||
import com.metallic.chiaki.common.getDatabase
|
||||
import com.metallic.chiaki.lib.ConnectInfo
|
||||
import com.metallic.chiaki.lib.DiscoveryHost
|
||||
import com.metallic.chiaki.lib.RegistEventSuccess
|
||||
import com.metallic.chiaki.regist.RegistActivity
|
||||
import com.metallic.chiaki.settings.SettingsActivity
|
||||
import com.metallic.chiaki.stream.StreamActivity
|
||||
import io.reactivex.disposables.CompositeDisposable
|
||||
import kotlinx.android.synthetic.main.activity_main.*
|
||||
|
||||
class MainActivity : AppCompatActivity()
|
||||
|
@ -173,23 +172,38 @@ class MainActivity : AppCompatActivity()
|
|||
val registeredHost = host.registeredHost
|
||||
if(registeredHost != null)
|
||||
{
|
||||
if(host is DiscoveredDisplayHost && host.discoveredHost.state == DiscoveryHost.State.STANDBY)
|
||||
{
|
||||
// TODO: show AlertDialog
|
||||
viewModel.discoveryManager.sendWakeup(host.host, registeredHost.rpRegistKey)
|
||||
}
|
||||
else
|
||||
{
|
||||
fun connect() {
|
||||
val connectInfo = ConnectInfo(host.host, registeredHost.rpRegistKey, registeredHost.rpKey, Preferences(this).videoProfile)
|
||||
Intent(this, StreamActivity::class.java).let {
|
||||
it.putExtra(StreamActivity.EXTRA_CONNECT_INFO, connectInfo)
|
||||
startActivity(it)
|
||||
}
|
||||
}
|
||||
|
||||
if(host is DiscoveredDisplayHost && host.discoveredHost.state == DiscoveryHost.State.STANDBY)
|
||||
{
|
||||
MaterialAlertDialogBuilder(this)
|
||||
.setMessage(R.string.alert_message_standby_wakeup)
|
||||
.setPositiveButton(R.string.action_wakeup) { _, _ ->
|
||||
viewModel.discoveryManager.sendWakeup(host.host, registeredHost.rpRegistKey)
|
||||
}
|
||||
.setNeutralButton(R.string.action_connect_immediately) { _, _ ->
|
||||
connect()
|
||||
}
|
||||
.setNegativeButton(R.string.action_connect_cancel_connect) { _, _ -> }
|
||||
.create()
|
||||
.show()
|
||||
}
|
||||
else
|
||||
connect()
|
||||
}
|
||||
else
|
||||
{
|
||||
// TODO: show registration
|
||||
Intent(this, RegistActivity::class.java).let {
|
||||
it.putExtra(RegistActivity.EXTRA_HOST, host.host)
|
||||
it.putExtra(RegistActivity.EXTRA_BROADCAST, false)
|
||||
startActivity(it)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -79,7 +79,7 @@ class RegistActivity: AppCompatActivity(), RevealActivity
|
|||
|
||||
viewModel.ps4Version.observe(this, Observer {
|
||||
psnAccountIdHelpGroup.visibility = if(it == RegistViewModel.PS4Version.GE_7) View.VISIBLE else View.GONE
|
||||
psnIdTextInputLayout.hint = getString(when(it)
|
||||
psnIdTextInputLayout.hint = getString(when(it!!)
|
||||
{
|
||||
RegistViewModel.PS4Version.GE_7 -> R.string.hint_regist_psn_account_id
|
||||
RegistViewModel.PS4Version.LT_7 -> R.string.hint_regist_psn_online_id
|
||||
|
|
|
@ -18,15 +18,15 @@
|
|||
package com.metallic.chiaki.regist
|
||||
|
||||
import android.app.Activity
|
||||
import android.app.AlertDialog
|
||||
import android.content.DialogInterface
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import android.text.method.ScrollingMovementMethod
|
||||
import android.view.View
|
||||
import androidx.appcompat.app.AlertDialog
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.lifecycle.Observer
|
||||
import androidx.lifecycle.ViewModelProviders
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.metallic.chiaki.R
|
||||
import com.metallic.chiaki.common.MacAddress
|
||||
import com.metallic.chiaki.common.ext.viewModelFactory
|
||||
|
@ -55,6 +55,9 @@ class RegistExecuteActivity: AppCompatActivity()
|
|||
.of(this, viewModelFactory { RegistExecuteViewModel(getDatabase(this)) })
|
||||
.get(RegistExecuteViewModel::class.java)
|
||||
|
||||
showDuplicateDialog()
|
||||
return
|
||||
|
||||
logTextView.setHorizontallyScrolling(true)
|
||||
logTextView.movementMethod = ScrollingMovementMethod()
|
||||
viewModel.logText.observe(this, Observer {
|
||||
|
@ -123,7 +126,7 @@ class RegistExecuteActivity: AppCompatActivity()
|
|||
|
||||
val macStr = viewModel.host?.ps4Mac?.let { MacAddress(it).toString() } ?: ""
|
||||
|
||||
dialog = AlertDialog.Builder(this)
|
||||
dialog = MaterialAlertDialogBuilder(this)
|
||||
.setMessage(getString(R.string.alert_regist_duplicate, macStr))
|
||||
.setNegativeButton(R.string.action_regist_discard) { _, _ -> }
|
||||
.setPositiveButton(R.string.action_regist_overwrite) { _, _ ->
|
||||
|
|
|
@ -30,6 +30,7 @@ import android.widget.EditText
|
|||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.lifecycle.*
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder
|
||||
import com.metallic.chiaki.*
|
||||
import com.metallic.chiaki.R
|
||||
import com.metallic.chiaki.lib.ConnectInfo
|
||||
|
@ -142,7 +143,7 @@ class StreamActivity : AppCompatActivity()
|
|||
{
|
||||
dialog?.dismiss()
|
||||
val reasonStr = state.reasonString
|
||||
val dialog = AlertDialog.Builder(this)
|
||||
val dialog = MaterialAlertDialogBuilder(this)
|
||||
.setMessage(getString(R.string.alert_message_session_quit, state.reason.toString())
|
||||
+ (if(reasonStr != null) "\n$reasonStr" else ""))
|
||||
.setPositiveButton(R.string.action_reconnect) { _, _ ->
|
||||
|
@ -168,7 +169,7 @@ class StreamActivity : AppCompatActivity()
|
|||
if(dialogContents != CreateErrorDialog)
|
||||
{
|
||||
dialog?.dismiss()
|
||||
val dialog = AlertDialog.Builder(this)
|
||||
val dialog = MaterialAlertDialogBuilder(this)
|
||||
.setMessage(getString(R.string.alert_message_session_create_error, state.error.errorCode.toString()))
|
||||
.setOnDismissListener {
|
||||
dialog = null
|
||||
|
@ -190,7 +191,7 @@ class StreamActivity : AppCompatActivity()
|
|||
val view = layoutInflater.inflate(R.layout.dialog_login_pin, null)
|
||||
val pinEditText = view.findViewById<EditText>(R.id.pinEditText)
|
||||
|
||||
val dialog = AlertDialog.Builder(this)
|
||||
val dialog = MaterialAlertDialogBuilder(this)
|
||||
.setMessage(
|
||||
if(state.pinIncorrect)
|
||||
R.string.alert_message_login_pin_request_incorrect
|
||||
|
|
|
@ -8,6 +8,9 @@
|
|||
<string name="alert_message_login_pin_request">Login PIN:</string>
|
||||
<string name="alert_message_login_pin_request_incorrect">Entered PIN was incorrect!\nLogin PIN:</string>
|
||||
<string name="action_reconnect">Reconnect</string>
|
||||
<string name="action_wakeup">Wakeup</string>
|
||||
<string name="action_connect_immediately">Connect</string>
|
||||
<string name="action_connect_cancel_connect">Cancel</string>
|
||||
<string name="action_quit_session">Quit</string>
|
||||
<string name="action_login_pin_connect">Connect</string>
|
||||
<string name="action_settings">Settings</string>
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
<item name="colorOnSecondary">#000000</item>
|
||||
<item name="android:statusBarColor">?attr/colorPrimarySurface</item>
|
||||
<item name="android:navigationBarColor">?attr/colorPrimarySurface</item>
|
||||
<item name="materialAlertDialogTheme">@style/AppTheme.AlertDialog</item>
|
||||
|
||||
<item name="android:windowActivityTransitions">true</item>
|
||||
</style>
|
||||
|
@ -22,6 +23,15 @@
|
|||
<item name="android:textColor">@color/floating_action_button_speed_dial_tint</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.AlertDialog" parent="Theme.MaterialComponents.Dialog.Alert">
|
||||
<item name="android:textColorPrimary">@android:color/primary_text_dark</item>
|
||||
<item name="materialButtonStyle">@style/AppTheme.AlertDialog.Button</item>
|
||||
</style>
|
||||
|
||||
<style name="AppTheme.AlertDialog.Button" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
|
||||
<item name="android:textColor">@color/accent</item>
|
||||
</style>
|
||||
|
||||
<style name="MageTheme" parent="Theme.MaterialComponents.NoActionBar">
|
||||
<item name="colorPrimary">@color/primary</item>
|
||||
<item name="colorPrimaryDark">@color/primary_dark</item>
|
||||
|
@ -48,7 +58,7 @@
|
|||
<item name="android:windowActivityTransitions">true</item>
|
||||
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
|
||||
|
||||
<item name="android:alertDialogTheme">@style/MageTheme.AlertDialog</item>
|
||||
-<item name="materialAlertDialogTheme">@style/AppTheme.AlertDialog</item>
|
||||
</style>
|
||||
|
||||
<style name="MageTheme.Translucent" parent="MageTheme">
|
||||
|
@ -59,15 +69,6 @@
|
|||
<item name="fontFamily">sans-serif-condensed-light</item>
|
||||
</style>
|
||||
|
||||
<style name="MageTheme.AlertDialog" parent="Theme.MaterialComponents.Dialog.Alert">
|
||||
<item name="android:textColorPrimary">@android:color/primary_text_light</item>
|
||||
<item name="materialButtonStyle">@style/MageTheme.AlertDialog.Button</item>
|
||||
</style>
|
||||
|
||||
<style name="MageTheme.AlertDialog.Button" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
|
||||
<item name="android:textColor">@color/accent</item>
|
||||
</style>
|
||||
|
||||
<style name="MageTheme.TextInputStyle" parent="Widget.MaterialComponents.TextInputLayout.FilledBox">
|
||||
<item name="hintTextColor">?attr/colorAccent</item>
|
||||
<item name="boxCornerRadiusTopStart">16dp</item>
|
||||
|
@ -87,10 +88,11 @@
|
|||
<item name="android:textColor">?attr/colorOnSecondary</item>
|
||||
</style>
|
||||
|
||||
<style name="StreamTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
||||
<style name="StreamTheme" parent="Theme.MaterialComponents.Light.NoActionBar">
|
||||
<item name="colorPrimary">@color/primary</item>
|
||||
<item name="colorPrimaryDark">@color/primary_dark</item>
|
||||
<item name="colorAccent">@color/accent</item>
|
||||
<item name="materialAlertDialogTheme">@style/AppTheme.AlertDialog</item>
|
||||
<item name="android:windowBackground">@color/stream_background</item>
|
||||
</style>
|
||||
</resources>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue