From 1771ab5e9ef3fbf81a1e8909903f4bd52cfe67dc Mon Sep 17 00:00:00 2001 From: sitou Date: Thu, 19 Dec 2024 10:42:50 +0900 Subject: [PATCH 1/7] =?UTF-8?q?getApprovalItems=E3=81=A7while=E3=81=8C?= =?UTF-8?q?=E3=83=AB=E3=83=BC=E3=83=97=E3=81=97=E3=81=AA=E3=81=84=E3=82=88?= =?UTF-8?q?=E3=81=86=E3=81=AB=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agileworks/widget/AwAppWidgetRemoteViewsFactory.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt index 7bad2ff6..7044e988 100644 --- a/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt +++ b/app/src/main/java/jp/atled/agileworks/widget/AwAppWidgetRemoteViewsFactory.kt @@ -166,9 +166,15 @@ class AwAppWidgetRemoteViewsFactory(applicationContext: Context, intent: Intent? private fun getApprovalItems(): List? { try { val prefs = AwApp.instance.applicationContext.getSharedPreferences(AwApp.WIDGET_PREFERENCES, Context.MODE_PRIVATE) + val timeout = 10000L + val startTime = System.currentTimeMillis() while (prefs.getBoolean(AwApp.WIDGET_UPDATE_FLG, false)) { //別のウィジェットが更新中の場合は待つ + if(System.currentTimeMillis() - startTime > timeout){ + break + } + Thread.sleep(100) } prefs.edit().putBoolean(AwApp.WIDGET_UPDATE_FLG, true).apply() -- GitLab From 5e3e06210bc6e2eac9b031ff16fa32f193a5e7f9 Mon Sep 17 00:00:00 2001 From: sitou Date: Wed, 25 Dec 2024 09:59:04 +0900 Subject: [PATCH 2/7] =?UTF-8?q?=E6=8E=A5=E7=B6=9A=E5=85=88=E3=81=8C?= =?UTF-8?q?=E4=BF=9D=E5=AD=98=E6=B8=88=E3=81=BF=E3=82=B5=E3=83=BC=E3=83=90?= =?UTF-8?q?=E3=81=A8=E9=87=8D=E8=A4=87=E3=81=99=E3=82=8B=E3=81=A8=E3=81=8D?= =?UTF-8?q?=E3=80=81=E3=82=A8=E3=83=A9=E3=83=BC=E3=81=AB=E3=81=9B=E3=81=9A?= =?UTF-8?q?=E6=8E=A5=E7=B6=9A=E3=81=99=E3=82=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agileworks/view/ui/login/LoginFragment.kt | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt index 7a3ada6f..b35a193a 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt @@ -179,7 +179,7 @@ class LoginFragment: Fragment() { binding.viewmodel?.setServerContext() if (checkServer()) { - loginAlert(R.string.login_server_check_alert) + whenAuthorizationSucceeds() } else { try { startAuthorization() @@ -224,7 +224,7 @@ class LoginFragment: Fragment() { // Register the launcher and result handler private val barcodeLauncher = registerForActivityResult( - ScanContract() + ScanContract() ) { result: ScanIntentResult -> if (result.contents == null) { Toast.makeText(this.requireContext(), R.string.login_qr_read_cancel, Toast.LENGTH_LONG).show() @@ -238,9 +238,9 @@ class LoginFragment: Fragment() { binding.viewmodel?.loadServerContext(arrayUrl[1]) } Toast.makeText( - this.requireContext(), - resources.getString(R.string.login_qr_read_scanned, it), - Toast.LENGTH_LONG + this.requireContext(), + resources.getString(R.string.login_qr_read_scanned, it), + Toast.LENGTH_LONG ).show() } ?: run { Toast.makeText(this.requireContext(), R.string.login_qr_read_error, Toast.LENGTH_LONG).show() @@ -254,6 +254,8 @@ class LoginFragment: Fragment() { for (server in serverList) { val serverName = LoginRepository(server).loadServerUrl() if (serverName == serverHost) { + ServerRepository().setServer(server) + ServerRepository().changeServerList(server) return true } } @@ -555,9 +557,9 @@ class LoginFragment: Fragment() { // セッションID保存 var preferences = "cookie" + ServerRepository().loadServer().toString() AwApp.instance.applicationContext.getSharedPreferences(preferences, Context.MODE_PRIVATE) - .edit() - .putString("sessionId", sessionId) - .apply() + .edit() + .putString("sessionId", sessionId) + .apply() } //トークン更新に成功するとメイン画面へ whenAuthorizationSucceeds() @@ -578,11 +580,11 @@ class LoginFragment: Fragment() { companion object { // ログイン時に利用するコントロール用 View の ID 群 val LOGIN_CONTROL_IDS = listOf( - R.id.serverUrl, - R.id.server_context, - R.id.loginButton, - R.id.clientCertChoiceButton, - R.id.qrReadButton + R.id.serverUrl, + R.id.server_context, + R.id.loginButton, + R.id.clientCertChoiceButton, + R.id.qrReadButton ) private val SCHEME_PATTERN = Regex("^https?://") -- GitLab From 8ffd537e4f4feab7b892524466993dfdedafb221 Mon Sep 17 00:00:00 2001 From: sitou Date: Wed, 25 Dec 2024 14:41:57 +0900 Subject: [PATCH 3/7] =?UTF-8?q?=E3=83=AC=E3=82=A4=E3=82=A2=E3=82=A6?= =?UTF-8?q?=E3=83=88=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../agileworks/view/ui/login/LoginFragment.kt | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt index b35a193a..4b048dba 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/login/LoginFragment.kt @@ -224,7 +224,7 @@ class LoginFragment: Fragment() { // Register the launcher and result handler private val barcodeLauncher = registerForActivityResult( - ScanContract() + ScanContract() ) { result: ScanIntentResult -> if (result.contents == null) { Toast.makeText(this.requireContext(), R.string.login_qr_read_cancel, Toast.LENGTH_LONG).show() @@ -238,9 +238,9 @@ class LoginFragment: Fragment() { binding.viewmodel?.loadServerContext(arrayUrl[1]) } Toast.makeText( - this.requireContext(), - resources.getString(R.string.login_qr_read_scanned, it), - Toast.LENGTH_LONG + this.requireContext(), + resources.getString(R.string.login_qr_read_scanned, it), + Toast.LENGTH_LONG ).show() } ?: run { Toast.makeText(this.requireContext(), R.string.login_qr_read_error, Toast.LENGTH_LONG).show() @@ -557,9 +557,9 @@ class LoginFragment: Fragment() { // セッションID保存 var preferences = "cookie" + ServerRepository().loadServer().toString() AwApp.instance.applicationContext.getSharedPreferences(preferences, Context.MODE_PRIVATE) - .edit() - .putString("sessionId", sessionId) - .apply() + .edit() + .putString("sessionId", sessionId) + .apply() } //トークン更新に成功するとメイン画面へ whenAuthorizationSucceeds() @@ -580,11 +580,11 @@ class LoginFragment: Fragment() { companion object { // ログイン時に利用するコントロール用 View の ID 群 val LOGIN_CONTROL_IDS = listOf( - R.id.serverUrl, - R.id.server_context, - R.id.loginButton, - R.id.clientCertChoiceButton, - R.id.qrReadButton + R.id.serverUrl, + R.id.server_context, + R.id.loginButton, + R.id.clientCertChoiceButton, + R.id.qrReadButton ) private val SCHEME_PATTERN = Regex("^https?://") -- GitLab From 3634f19561a930012cc98b430b86856eab1ea267 Mon Sep 17 00:00:00 2001 From: sitou Date: Tue, 14 Jan 2025 17:07:25 +0900 Subject: [PATCH 4/7] =?UTF-8?q?sdk34=E3=83=90=E3=83=BC=E3=82=B8=E3=83=A7?= =?UTF-8?q?=E3=83=B3=E3=82=A2=E3=83=83=E3=83=97=EF=BC=88gradle7.5=E3=81=AB?= =?UTF-8?q?=E5=A4=89=E6=9B=B4=E3=80=81android-kotlin-extensions=E3=81=8B?= =?UTF-8?q?=E3=82=89ViewBinding=E3=81=B8=E3=81=AE=E7=A7=BB=E8=A1=8C?= =?UTF-8?q?=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/misc.xml | 2 +- app/build.gradle | 28 +++++++++++++------ app/src/main/AndroidManifest.xml | 3 +- .../view/ui/DirectOpenDocumentActivity.kt | 22 +++++++-------- .../atled/agileworks/view/ui/MainActivity.kt | 20 +++++++------ .../ui/documentweb/DocumentWebFragment.kt | 9 +++--- .../agileworks/view/ui/login/LoginActivity.kt | 9 ++++-- .../agileworks/view/ui/login/LoginFragment.kt | 15 +++++----- .../agileworks/view/ui/login/LoginUtil.kt | 2 +- build.gradle | 8 +++--- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 12 files changed, 68 insertions(+), 54 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 75ced089..f9bd7ec8 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -47,7 +47,7 @@ - + diff --git a/app/build.gradle b/app/build.gradle index 85657228..5ca588d4 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -1,17 +1,17 @@ apply plugin: 'com.android.application' apply plugin: 'kotlin-android' -apply plugin: 'kotlin-android-extensions' +//apply plugin: 'kotlin-android-extensions' apply plugin: 'androidx.navigation.safeargs' apply plugin: 'kotlin-kapt' apply plugin: 'com.google.gms.google-services' apply plugin: 'com.google.android.gms.oss-licenses-plugin' android { - compileSdk 33 + compileSdk 34 defaultConfig { applicationId "jp.atled.agileworks" minSdkVersion 24 - targetSdk 33 + targetSdk 34 versionCode 3 versionName "1.1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" @@ -25,19 +25,22 @@ android { } buildFeatures { dataBinding = true + viewBinding = true } compileOptions { - sourceCompatibility = 1.8 - targetCompatibility = 1.8 + sourceCompatibility = 17 + targetCompatibility = 17 } kotlinOptions { - jvmTarget = JavaVersion.VERSION_1_8.toString() + jvmTarget = JavaVersion.VERSION_17.toString() } - buildToolsVersion = '29.0.2' + buildToolsVersion = '34.0.0' dataBinding { enabled = true } + + namespace "jp.atled.agileworks" } dependencies { @@ -47,6 +50,13 @@ dependencies { implementation "androidx.appcompat:appcompat:$appcompat_version" implementation "androidx.constraintlayout:constraintlayout:$constraint_layout_version" + def lifecycle_version = "2.4.0" // 最新の安定版に変更 + implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version" + implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version" + //implementation "com.squareup:kotlinpoet:1.14.2" + //implementation "org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.6.0" + //implementation 'com.android.support:multidex:2.0.1' + implementation "androidx.navigation:navigation-fragment-ktx:$nav_version" implementation "androidx.navigation:navigation-ui-ktx:$nav_version" implementation "androidx.navigation:navigation-runtime-ktx:$nav_version" @@ -70,7 +80,7 @@ dependencies { implementation 'androidx.legacy:legacy-support-v4:1.0.0' // Databinding compiler - kapt 'com.android.databinding:compiler:3.2.0-alpha10' + //kapt 'com.android.databinding:compiler:3.2.0-alpha10' // Firebase implementation "com.google.firebase:firebase-analytics:$firebase_analytics_version" @@ -81,7 +91,7 @@ dependencies { implementation "com.squareup.moshi:moshi:$moshi_version" implementation "com.squareup.moshi:moshi-kotlin:$moshi_version" - kapt "com.squareup.moshi:moshi-kotlin-codegen:$moshi_version" + annotationProcessor "com.squareup.moshi:moshi-kotlin-codegen:$moshi_version" implementation "net.openid:appauth:0.7.1" diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index ee3cb7c7..1f6cbec0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,7 +1,6 @@ + xmlns:tools="http://schemas.android.com/tools"> diff --git a/app/src/main/java/jp/atled/agileworks/view/ui/DirectOpenDocumentActivity.kt b/app/src/main/java/jp/atled/agileworks/view/ui/DirectOpenDocumentActivity.kt index 83782251..d4326e25 100644 --- a/app/src/main/java/jp/atled/agileworks/view/ui/DirectOpenDocumentActivity.kt +++ b/app/src/main/java/jp/atled/agileworks/view/ui/DirectOpenDocumentActivity.kt @@ -14,21 +14,20 @@ import jp.atled.agileworks.view.base.BaseActivity import jp.atled.agileworks.view.ui.documentweb.DocumentWebFragment import jp.atled.agileworks.view.utils.putExtraNonNullString import jp.atled.agileworks.view.utils.putNonNullStingFromExtra -import kotlinx.android.synthetic.main.activity_main.* import android.view.KeyEvent import android.view.View import android.widget.Button import jp.atled.agileworks.model.LoginRepository import jp.atled.agileworks.model.ServerRepository -import kotlinx.android.synthetic.main.activity_main.app_ver_label -import kotlinx.android.synthetic.main.activity_main.toolbar -import kotlinx.android.synthetic.main.fragment_login.* +import jp.atled.agileworks.databinding.ActivityDirectOpenDocumentBinding class DirectOpenDocumentActivity : BaseActivity(), View.OnClickListener { private val TAG = "DirectOpenDocumentActivity" private lateinit var directOpenControl: DirectOpenControl + private lateinit var binding: ActivityDirectOpenDocumentBinding + var tapServer = 0 var firstServer= 0 @@ -47,9 +46,10 @@ class DirectOpenDocumentActivity : BaseActivity(), View.OnClickListener { directOpenControl = DirectOpenControl(this) - setContentView(R.layout.activity_direct_open_document) - toolbar.title = title() - setSupportActionBar(toolbar) + binding = ActivityDirectOpenDocumentBinding.inflate(layoutInflater) + setContentView(binding.root) + binding.toolbar.title = title() + setSupportActionBar(binding.toolbar) setupDrawerMenu() findViewById