diff --git a/.gradle/8.13/executionHistory/executionHistory.bin b/.gradle/8.13/executionHistory/executionHistory.bin index 371388b..8742ce6 100644 Binary files a/.gradle/8.13/executionHistory/executionHistory.bin and b/.gradle/8.13/executionHistory/executionHistory.bin differ diff --git a/.gradle/8.13/executionHistory/executionHistory.lock b/.gradle/8.13/executionHistory/executionHistory.lock index bb197ff..154437a 100644 Binary files a/.gradle/8.13/executionHistory/executionHistory.lock and b/.gradle/8.13/executionHistory/executionHistory.lock differ diff --git a/.gradle/8.13/fileHashes/fileHashes.bin b/.gradle/8.13/fileHashes/fileHashes.bin index e434c2a..92bff57 100644 Binary files a/.gradle/8.13/fileHashes/fileHashes.bin and b/.gradle/8.13/fileHashes/fileHashes.bin differ diff --git a/.gradle/8.13/fileHashes/fileHashes.lock b/.gradle/8.13/fileHashes/fileHashes.lock index 94d2689..0e8b3a8 100644 Binary files a/.gradle/8.13/fileHashes/fileHashes.lock and b/.gradle/8.13/fileHashes/fileHashes.lock differ diff --git a/.gradle/8.13/fileHashes/resourceHashesCache.bin b/.gradle/8.13/fileHashes/resourceHashesCache.bin index 5bf0aab..3dab58e 100644 Binary files a/.gradle/8.13/fileHashes/resourceHashesCache.bin and b/.gradle/8.13/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index e6b902e..c92bfd0 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/app/src/main/java/com/ck/ckcollar/app/CKApp.kt b/app/src/main/java/com/ck/ckcollar/app/CKApp.kt index 97e3456..303a503 100644 --- a/app/src/main/java/com/ck/ckcollar/app/CKApp.kt +++ b/app/src/main/java/com/ck/ckcollar/app/CKApp.kt @@ -22,6 +22,8 @@ class CKApp : Application() { var activitys = mutableListOf() lateinit var token : String + var isUserLoggedIn: Boolean = false + private set var wxJump = 0 var userInfo : UserInfoModel? = null companion object { @@ -33,7 +35,8 @@ class CKApp : Application() { super.onCreate() app = this - token = PreferencesUtils.getString(this, Const.TOKEN,"").toString() + token = PreferencesUtils.getString(this, Const.TOKEN, "").orEmpty() + isUserLoggedIn = token.isNotBlank() var userData = PreferencesUtils.getString(this, Const.USER_DATA,"").toString() if (!TextUtils.isEmpty(userData)){ userInfo = Gson().fromJson(userData, UserInfoModel::class.java) @@ -62,5 +65,22 @@ class CKApp : Application() { TTLog.isLogEable(true) } + fun setLoginToken(value: String) { + token = value + isUserLoggedIn = value.isNotBlank() + PreferencesUtils.putString(this, Const.TOKEN, value) + if (isUserLoggedIn) { + PreferencesUtils.putBoolean(this, Const.FIRST, false) + } + } -} \ No newline at end of file + fun clearLoginState() { + token = "" + userInfo = null + isUserLoggedIn = false + PreferencesUtils.putString(this, Const.TOKEN, "") + PreferencesUtils.putString(this, Const.USER_DATA, "") + } + + +} diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/act/customer/MineCustomerActivity.kt b/app/src/main/java/com/ck/ckcollar/app/ui/act/customer/MineCustomerActivity.kt index e40610a..b480cb6 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/act/customer/MineCustomerActivity.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/act/customer/MineCustomerActivity.kt @@ -1,5 +1,6 @@ package com.ck.ckcollar.app.ui.act.customer +import android.Manifest import android.content.Context import android.content.Intent import android.net.Uri @@ -173,7 +174,10 @@ class MineCustomerActivity : CKBaseActivity() { binding.conetnt1.setOnClickListener { if (TextUtils.isEmpty(path)) { - takePhoto() + getPermissionRequst( + Manifest.permission.CAMERA, + REQUEST_CAMERA_PERMISSION + ) } else { toast(getString(R.string.only_one_photo)) } @@ -181,12 +185,15 @@ class MineCustomerActivity : CKBaseActivity() { } binding.conetnt2.setOnClickListener { if (TextUtils.isEmpty(path)) { - //相册 - val i = Intent( - Intent.ACTION_PICK, - MediaStore.Images.Media.EXTERNAL_CONTENT_URI + val permission = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + Manifest.permission.READ_MEDIA_IMAGES + } else { + Manifest.permission.READ_EXTERNAL_STORAGE + } + getPermissionRequst( + permission, + REQUEST_PHOTO_PERMISSION ) - startActivityForResult(i, 56) } else { toast(getString(R.string.only_one_photo)) } @@ -195,6 +202,23 @@ class MineCustomerActivity : CKBaseActivity() { } + override fun onPermissionsGranted(requestCode: Int, permissions: Array) { + when (requestCode) { + REQUEST_CAMERA_PERMISSION -> takePhoto() + REQUEST_PHOTO_PERMISSION -> openPhotoAlbum() + } + } + + private fun openPhotoAlbum() { + val intent = Intent( + Intent.ACTION_PICK, + MediaStore.Images.Media.EXTERNAL_CONTENT_URI + ).apply { + setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*") + } + startActivityForResult(intent, 56) + } + override fun initData() { //getList() @@ -476,6 +500,11 @@ class MineCustomerActivity : CKBaseActivity() { startActivityForResult(openCameraIntent, 55) } + companion object { + private const val REQUEST_CAMERA_PERMISSION = 1201 + private const val REQUEST_PHOTO_PERMISSION = 1202 + } + class CustomerMessageAdapter( var context: Context, var data: List, @@ -556,4 +585,4 @@ class MineCustomerActivity : CKBaseActivity() { } } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/act/customer/PeopleCustomerActivity.kt b/app/src/main/java/com/ck/ckcollar/app/ui/act/customer/PeopleCustomerActivity.kt index 762f65b..36d68a6 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/act/customer/PeopleCustomerActivity.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/act/customer/PeopleCustomerActivity.kt @@ -1,5 +1,6 @@ package com.ck.ckcollar.app.ui.act.customer +import android.Manifest import android.content.Context import android.content.Intent import android.graphics.Rect @@ -211,16 +212,10 @@ class PeopleCustomerActivity : CKBaseActivity() { binding.conetnt1.setOnClickListener { if (TextUtils.isEmpty(path)) { - if (!checkCameraPermissions()){ - CKAlertDialog(this@PeopleCustomerActivity,getString(R.string.alert),getString(R.string.camera_alert),object : CKAlertDialog.AlertClickListener{ - override fun onBack(isConfirm: Boolean) { - TODO("Not yet implemented") - } - - }).show() - return@setOnClickListener - } - takePhoto() + getPermissionRequst( + Manifest.permission.CAMERA, + REQUEST_CAMERA_PERMISSION + ) } else { toast(getString(R.string.only_one_photo)) } @@ -228,12 +223,15 @@ class PeopleCustomerActivity : CKBaseActivity() { } binding.conetnt2.setOnClickListener { if (TextUtils.isEmpty(path)) { - //相册 - val i = Intent( - Intent.ACTION_PICK, - MediaStore.Images.Media.EXTERNAL_CONTENT_URI + val permission = if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) { + Manifest.permission.READ_MEDIA_IMAGES + } else { + Manifest.permission.READ_EXTERNAL_STORAGE + } + getPermissionRequst( + permission, + REQUEST_PHOTO_PERMISSION ) - startActivityForResult(i, 56) } else { toast(getString(R.string.only_one_photo)) } @@ -243,6 +241,23 @@ class PeopleCustomerActivity : CKBaseActivity() { } + override fun onPermissionsGranted(requestCode: Int, permissions: Array) { + when (requestCode) { + REQUEST_CAMERA_PERMISSION -> takePhoto() + REQUEST_PHOTO_PERMISSION -> openPhotoAlbum() + } + } + + private fun openPhotoAlbum() { + val intent = Intent( + Intent.ACTION_PICK, + MediaStore.Images.Media.EXTERNAL_CONTENT_URI + ).apply { + setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*") + } + startActivityForResult(intent, 56) + } + override fun initData() { @@ -607,6 +622,11 @@ class PeopleCustomerActivity : CKBaseActivity() { startActivityForResult(openCameraIntent, 55) } + companion object { + private const val REQUEST_CAMERA_PERMISSION = 1301 + private const val REQUEST_PHOTO_PERMISSION = 1302 + } + class CustomerMessageAdapter( var context: TTBaseActivity, var data: List, @@ -733,4 +753,4 @@ class PeopleCustomerActivity : CKBaseActivity() { } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/act/home/MainActivity.kt b/app/src/main/java/com/ck/ckcollar/app/ui/act/home/MainActivity.kt index 8a35d7b..8b7582a 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/act/home/MainActivity.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/act/home/MainActivity.kt @@ -3,10 +3,12 @@ package com.ck.ckcollar.app.ui.act.home import android.graphics.Color import android.os.Build import android.os.Bundle +import android.os.SystemClock import android.view.MenuItem import android.view.View import android.view.WindowInsets import android.widget.TextView +import androidx.activity.OnBackPressedCallback import androidx.viewpager2.widget.ViewPager2 import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback import com.ck.ckcollar.app.R @@ -35,6 +37,8 @@ import com.tt.kit.utils.TTUtils class MainActivity : CKLHBaseActivity(),View.OnClickListener { + private var lastBackPressedAt = 0L + lateinit var mainBinding: ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { @@ -43,6 +47,18 @@ class MainActivity : CKLHBaseActivity(),View.OnClickListener { setContentView(mainBinding.root) super.onCreate(savedInstanceState) + onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(true) { + override fun handleOnBackPressed() { + val now = SystemClock.elapsedRealtime() + if (lastBackPressedAt != 0L && now - lastBackPressedAt <= EXIT_INTERVAL_MS) { + finish() + } else { + lastBackPressedAt = now + toast(getString(R.string.press_again_to_exit)) + } + } + }) + // if (Build.VERSION.SDK_INT >= 36){ // @@ -192,4 +208,8 @@ class MainActivity : CKLHBaseActivity(),View.OnClickListener { } }) } + + companion object { + private const val EXIT_INTERVAL_MS = 2_000L + } } diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/act/login/BoundPhoneActivity.kt b/app/src/main/java/com/ck/ckcollar/app/ui/act/login/BoundPhoneActivity.kt index a83df32..e6a699d 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/act/login/BoundPhoneActivity.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/act/login/BoundPhoneActivity.kt @@ -91,11 +91,7 @@ class BoundPhoneActivity : CKBaseActivity() { override fun onSuccess(data: String) { var token = JSONObject(data).getString("token") - PreferencesUtils.putString( - this@BoundPhoneActivity, - Const.TOKEN, token - ) - CKApp.app.token = token + CKApp.app.setLoginToken(token) @@ -140,4 +136,4 @@ class BoundPhoneActivity : CKBaseActivity() { } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/act/login/LoginActivity.kt b/app/src/main/java/com/ck/ckcollar/app/ui/act/login/LoginActivity.kt index 0d79807..1b723c9 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/act/login/LoginActivity.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/act/login/LoginActivity.kt @@ -232,11 +232,7 @@ class LoginActivity : CKBaseActivity() { try { var model = Gson().fromJson(data, LoginModel::class.java) - PreferencesUtils.putString( - this@LoginActivity, - Const.TOKEN, model.token.toString() - ) - CKApp.app.token = model.token.toString() + CKApp.app.setLoginToken(model.token.orEmpty()) getUserInfo() } catch (e: Exception) { @@ -262,11 +258,7 @@ class LoginActivity : CKBaseActivity() { try { var model = Gson().fromJson(data, LoginModel::class.java) - PreferencesUtils.putString( - this@LoginActivity, - Const.TOKEN, model.token.toString() - ) - CKApp.app.token = model.token.toString() + CKApp.app.setLoginToken(model.token.orEmpty()) getUserInfo() } catch (e: Exception) { @@ -338,11 +330,7 @@ class LoginActivity : CKBaseActivity() { finish() }else{ - PreferencesUtils.putString( - this@LoginActivity, - Const.TOKEN, model.token.toString() - ) - CKApp.app.token = model.token.toString() + CKApp.app.setLoginToken(model.token.orEmpty()) getUserInfo() } @@ -360,4 +348,4 @@ class LoginActivity : CKBaseActivity() { } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/act/login/RegisterActivity.kt b/app/src/main/java/com/ck/ckcollar/app/ui/act/login/RegisterActivity.kt index 4e8daa7..4dd1a72 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/act/login/RegisterActivity.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/act/login/RegisterActivity.kt @@ -122,11 +122,7 @@ class RegisterActivity : CKBaseActivity() { try { var model = Gson().fromJson(data, LoginModel::class.java) - PreferencesUtils.putString( - this@RegisterActivity, - Const.TOKEN, model.token.toString() - ) - CKApp.app.token = model.token.toString() + CKApp.app.setLoginToken(model.token.orEmpty()) getUserInfo() } catch (e: Exception) { @@ -171,4 +167,4 @@ class RegisterActivity : CKBaseActivity() { } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/act/mine/FeedBackActivity.kt b/app/src/main/java/com/ck/ckcollar/app/ui/act/mine/FeedBackActivity.kt index 4a9e132..9cd2f39 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/act/mine/FeedBackActivity.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/act/mine/FeedBackActivity.kt @@ -50,7 +50,7 @@ class FeedBackActivity : CKBaseActivity() { binding = ActivityFeedBackBinding.inflate(layoutInflater) setContentView(binding.root) super.onCreate(savedInstanceState) - checkAppPermissions() +// checkAppPermissions() setTitleText(getString(R.string.feedback)) } diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/act/mine/ReturnDeviceActivity.kt b/app/src/main/java/com/ck/ckcollar/app/ui/act/mine/ReturnDeviceActivity.kt index b354c75..52b8093 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/act/mine/ReturnDeviceActivity.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/act/mine/ReturnDeviceActivity.kt @@ -23,7 +23,7 @@ class ReturnDeviceActivity : CKBaseActivity() { binding = ActivityReturnDeviceBinding.inflate(layoutInflater) setContentView(binding.root) super.onCreate(savedInstanceState) - checkAppPermissions() +// checkAppPermissions() setTitleText(getString(R.string.device_return)) setActionBarColor(getColor(R.color.white)) diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/act/setting/AccountCancellationActivity.kt b/app/src/main/java/com/ck/ckcollar/app/ui/act/setting/AccountCancellationActivity.kt index 05cac13..035d65e 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/act/setting/AccountCancellationActivity.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/act/setting/AccountCancellationActivity.kt @@ -109,6 +109,8 @@ class AccountCancellationActivity: CKBaseActivity() { },object : ICallback{ override fun onSuccess(data: String) { PreferencesUtils.clear(this@AccountCancellationActivity) + PreferencesUtils.putBoolean(this@AccountCancellationActivity, Const.FIRST, false) + CKApp.app.clearLoginState() toActivityNewTaskClear(LoginActivity::class.java, DataCollection()) finish() } @@ -176,4 +178,4 @@ class AccountCancellationActivity: CKBaseActivity() { binding.check.setImageResource(R.mipmap.image_check_unselect) } } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/act/setting/SettingActivity.kt b/app/src/main/java/com/ck/ckcollar/app/ui/act/setting/SettingActivity.kt index 39d804a..44eec92 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/act/setting/SettingActivity.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/act/setting/SettingActivity.kt @@ -3,13 +3,13 @@ package com.ck.ckcollar.app.ui.act.setting import android.content.Intent import android.os.Bundle import android.view.View +import com.ck.ckcollar.app.CKApp import com.ck.ckcollar.app.R import com.ck.ckcollar.app.databinding.ActivitySettingBinding import com.ck.ckcollar.app.ui.act.login.AgreementActivity import com.ck.ckcollar.app.ui.act.login.LoginActivity import com.ck.ckcollar.app.ui.base.CKBaseActivity import com.ck.ckcollar.app.ui.dialog.CKAlertDialog -import com.cyclone.shadowsocks.utils.PreferencesUtils import com.tt.kit.model.Data import com.tt.kit.model.DataCollection @@ -70,7 +70,7 @@ class SettingActivity : CKBaseActivity(), View.OnClickListener { CKAlertDialog(this@SettingActivity,getString(R.string.logout),getString(R.string.logout_alert),object : CKAlertDialog.AlertClickListener{ override fun onBack(isConfirm: Boolean) { if (isConfirm){ - PreferencesUtils.clear(this@SettingActivity) + CKApp.app.clearLoginState() toActivityNewTaskClear(LoginActivity::class.java, DataCollection()) finish() } @@ -80,4 +80,4 @@ class SettingActivity : CKBaseActivity(), View.OnClickListener { } } } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/act/shop/ProductDetailsActivity.kt b/app/src/main/java/com/ck/ckcollar/app/ui/act/shop/ProductDetailsActivity.kt index 4975a7b..bddb080 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/act/shop/ProductDetailsActivity.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/act/shop/ProductDetailsActivity.kt @@ -148,7 +148,7 @@ class ProductDetailsActivity : CKBaseActivity() { ViewGroup.LayoutParams.MATCH_PARENT ) ) - imageView.setScaleType(ImageView.ScaleType.FIT_XY) + imageView.setScaleType(ImageView.ScaleType.CENTER_CROP) return BannerViewHolder(imageView) } diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/act/user/UserInfoActivity.kt b/app/src/main/java/com/ck/ckcollar/app/ui/act/user/UserInfoActivity.kt index c9c6385..b0ad97b 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/act/user/UserInfoActivity.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/act/user/UserInfoActivity.kt @@ -1,5 +1,6 @@ package com.ck.ckcollar.app.ui.act.user +import android.Manifest import android.content.Intent import android.net.Uri import android.os.Build @@ -20,7 +21,6 @@ import com.ck.ckcollar.app.model.UserInfoModel import com.ck.ckcollar.app.ui.act.home.MainActivity import com.ck.ckcollar.app.ui.act.login.BoundPhoneActivity import com.ck.ckcollar.app.ui.base.CKBaseActivity -import com.ck.ckcollar.app.ui.dialog.CKAlertDialog import com.ck.ckcollar.app.ui.dialog.CKEditDialog import com.ck.ckcollar.app.ui.dialog.CKEditNameDialog import com.ck.ckcollar.app.ui.dialog.CKEditPhoneDialog @@ -55,7 +55,7 @@ class UserInfoActivity: CKBaseActivity() { api = WXAPIFactory.createWXAPI(this, Const.WX_APP_ID) CKApp.app.wxJump = 1 - checkAppPermissions() +// checkAppPermissions() setStatusBarColor(resources.getColor(R.color.white)) setActionBarColor(resources.getColor(R.color.white)) @@ -111,16 +111,10 @@ class UserInfoActivity: CKBaseActivity() { override fun onBack(mark: Int, position: Int) { try { if (mark == 0){ - if (!checkCameraPermissions()){ - CKAlertDialog(this@UserInfoActivity,getString(R.string.alert),getString(R.string.camera_alert),object : CKAlertDialog.AlertClickListener{ - override fun onBack(isConfirm: Boolean) { - TODO("Not yet implemented") - } - - }).show() - return - } - takePhoto() + getPermissionRequst( + Manifest.permission.CAMERA, + REQUEST_CAMERA_PERMISSION + ) }else{ //相册 val i = Intent( @@ -148,6 +142,12 @@ class UserInfoActivity: CKBaseActivity() { } } + override fun onPermissionsGranted(requestCode: Int, permissions: Array) { + if (requestCode == REQUEST_CAMERA_PERMISSION) { + takePhoto() + } + } + override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) @@ -242,6 +242,10 @@ class UserInfoActivity: CKBaseActivity() { } + companion object { + private const val REQUEST_CAMERA_PERMISSION = 1101 + } + override fun initData() { binding.textNick.text= CKApp.app.userInfo?.custName @@ -322,4 +326,4 @@ class UserInfoActivity: CKBaseActivity() { }) } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/act/welcome/IndexActivity.kt b/app/src/main/java/com/ck/ckcollar/app/ui/act/welcome/IndexActivity.kt index 9f7feb2..910c57d 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/act/welcome/IndexActivity.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/act/welcome/IndexActivity.kt @@ -4,7 +4,6 @@ import android.os.Bundle import android.os.Handler import android.os.Looper import android.os.Message -import android.text.TextUtils import com.ck.ckcollar.app.CKApp import com.ck.ckcollar.app.databinding.ActivityIndexBinding import com.ck.ckcollar.app.ui.act.home.MainActivity @@ -25,7 +24,7 @@ class IndexActivity : CKBaseActivity() { } var handler = object : Handler(Looper.getMainLooper()){ override fun handleMessage(msg: Message) { - if (TextUtils.isEmpty(CKApp.app.token)){ + if (!CKApp.app.isUserLoggedIn){ var isFirst = PreferencesUtils.getBolean(this@IndexActivity, Const.FIRST,true) as Boolean if (isFirst){ toActivity(WelcomeActivity::class.java, DataCollection()) @@ -46,4 +45,4 @@ class IndexActivity : CKBaseActivity() { } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/ck/ckcollar/app/ui/dialog/CKPhotoDialog.kt b/app/src/main/java/com/ck/ckcollar/app/ui/dialog/CKPhotoDialog.kt index 3f40e3f..8b79f12 100644 --- a/app/src/main/java/com/ck/ckcollar/app/ui/dialog/CKPhotoDialog.kt +++ b/app/src/main/java/com/ck/ckcollar/app/ui/dialog/CKPhotoDialog.kt @@ -35,6 +35,10 @@ class CKPhotoDialog( } }) + dialogMakePhotoBinding.cancelButton.setOnClickListener { + cancel() + } + setContentView(dialogMakePhotoBinding.root,ViewGroup.LayoutParams(TTUtils.width, ViewGroup.LayoutParams.WRAP_CONTENT)) } catch (e: Exception) { @@ -48,4 +52,4 @@ class CKPhotoDialog( interface PhotoClickListener { fun onBack(mark: Int, position: Int) } -} \ No newline at end of file +} diff --git a/app/src/main/java/com/ck/ckcollar/app/utils/networkone/interceptor/ResponseInterceptor.kt b/app/src/main/java/com/ck/ckcollar/app/utils/networkone/interceptor/ResponseInterceptor.kt index bb64d0d..63d9451 100644 --- a/app/src/main/java/com/ck/ckcollar/app/utils/networkone/interceptor/ResponseInterceptor.kt +++ b/app/src/main/java/com/ck/ckcollar/app/utils/networkone/interceptor/ResponseInterceptor.kt @@ -2,6 +2,7 @@ package com.ck.ckcollar.app.utils.networkone.interceptor import android.content.Context import android.content.Intent +import com.ck.ckcollar.app.CKApp import com.ck.ckcollar.app.ui.act.login.LoginActivity import com.google.gson.Gson import com.tt.kit.networktwo.model.TTResposeData @@ -22,6 +23,7 @@ class ResponseInterceptor(val context : Context) : Interceptor{ TTLog.i("ResponseInterceptor", "intercept model:" + body) // token失效,统一处理 if (model.code == 401){ + CKApp.app.clearLoginState() var intent = Intent(context, LoginActivity::class.java) intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK context.startActivity(intent) @@ -49,4 +51,4 @@ class ResponseInterceptor(val context : Context) : Interceptor{ } } -} \ No newline at end of file +} diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 2611dc8..b808e5b 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -7,6 +7,638 @@ android:fitsSystemWindows="false" android:gravity="center_horizontal" android:orientation="vertical"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ 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 9f041d6..b7db38d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -588,6 +588,7 @@ 请选择原因 宠盾需要您的授权,使用相机功能来进行扫码和拍照 宠盾需要您的授权,访问相册以选择照片 + 再按一次退出应用 请输入问题 宠物常识