Skip to content

Commit 10a3e6a

Browse files
committed
Merge branch 'dev'
2 parents 59b3832 + 6c88ad9 commit 10a3e6a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+1042
-161
lines changed

app/build.gradle.kts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ plugins {
66

77
android {
88
namespace = "app.opass.ccip"
9-
compileSdk = 35
9+
compileSdk = 36
1010

1111
defaultConfig {
1212
applicationId = "app.opass.ccip"
1313
minSdk = 24
14-
targetSdk = 35
15-
versionCode = 57
16-
versionName = "3.7.0"
14+
targetSdk = 36
15+
versionCode = 58
16+
versionName = "3.8.0"
1717

1818
manifestPlaceholders["manifestApplicationId"] = "$applicationId"
1919
}
@@ -68,6 +68,7 @@ dependencies {
6868
implementation(libs.androidx.livedata)
6969
implementation(libs.androidx.recyclerview)
7070
implementation(libs.androidx.viewpager2)
71+
implementation(libs.androidx.swiperefreshlayout)
7172

7273
// Google
7374
implementation(libs.google.material)
@@ -76,7 +77,8 @@ dependencies {
7677
implementation(libs.google.firebase.analytics)
7778

7879
// Coil
79-
implementation(libs.coil)
80+
implementation(libs.coil.core)
81+
implementation(libs.coil.network)
8082

8183
// Coroutines
8284
implementation(libs.kotlinx.coroutines.core)

app/src/main/AndroidManifest.xml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,15 @@
6464
<activity
6565
android:name=".ui.AboutActivity"
6666
android:parentActivityName=".ui.MainActivity" />
67+
68+
<service
69+
android:name="androidx.appcompat.app.AppLocalesMetadataHolderService"
70+
android:enabled="false"
71+
android:exported="false">
72+
<meta-data
73+
android:name="autoStoreLocales"
74+
android:value="true" />
75+
</service>
6776
</application>
6877

6978
</manifest>
Lines changed: 23 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,28 @@
1-
<!Doctype html>
2-
<html lang="zh">
1+
<!DOCTYPE html>
2+
<html lang="zh-Hant-TW">
33
<head>
44
<meta charset="utf-8">
55
<style>
6-
body{
7-
margin: 0;
8-
height: 100vh;
9-
overflow: hidden;
10-
background: #F3F3F3;
11-
}
12-
.main{
13-
width: 50vw;
14-
margin: 0 auto;
15-
position: relative;
16-
top: 30vh;
17-
}
18-
figure{
19-
}
20-
figcaption{
21-
text-align:center;
22-
color:#9b9b9b;
23-
font-size: 2rem;
24-
}
25-
#icon{
26-
width: 100%;
27-
}
6+
body {
7+
margin: 0;
8+
height: 100vh;
9+
overflow: hidden;
10+
background: #f3f3f3;
11+
}
12+
.main {
13+
width: 50vw;
14+
margin: 0 auto;
15+
position: relative;
16+
top: 30vh;
17+
}
18+
figcaption {
19+
text-align: center;
20+
color: #9b9b9b;
21+
font-size: 2rem;
22+
}
23+
#icon {
24+
width: 100%;
25+
}
2826
</style>
2927
</head>
3028
<body>
@@ -39,9 +37,7 @@
3937
transform="translate(0 -0.43)"/>
4038
</svg>
4139
</figure>
42-
<figcaption>
43-
無網路連接
44-
</figcaption>
40+
<figcaption>無網路連接</figcaption>
4541
</div>
4642
</body>
4743
</html>

app/src/main/java/app/opass/ccip/model/Room.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ data class Room(
1010
val en: En
1111
) {
1212
fun getDetails(context: Context) =
13-
if (LocaleUtil.getCurrentLocale(context).language == Locale("zh").language) zh else en
13+
when (LocaleUtil.getCurrentLocale(context).language) {
14+
"nan", "zh" -> zh
15+
else -> en
16+
}
1417

1518
interface LocalizedDetail {
1619
val name: String

app/src/main/java/app/opass/ccip/model/Session.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,9 @@ data class Session(
2626
val tags: List<SessionTag>
2727
) {
2828
fun getSessionDetail(context: Context): SessionDetail {
29-
return if (LocaleUtil.getCurrentLocale(context).language == Locale("zh").language) {
30-
zh
31-
} else {
32-
en
29+
return when (LocaleUtil.getCurrentLocale(context).language) {
30+
"nan", "zh" -> zh
31+
else -> en
3332
}
3433
}
3534
}

app/src/main/java/app/opass/ccip/model/SessionLang.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ data class SessionLang(
1010
val en: En
1111
) {
1212
fun getDetails(context: Context) =
13-
if (LocaleUtil.getCurrentLocale(context).language == Locale("zh").language) zh else en
13+
when (LocaleUtil.getCurrentLocale(context).language) {
14+
"nan", "zh" -> zh
15+
else -> en
16+
}
1417

1518
interface LocalizedDetail {
1619
val name: String

app/src/main/java/app/opass/ccip/model/SessionTag.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ data class SessionTag(
1010
val en: En
1111
) {
1212
fun getDetails(context: Context) =
13-
if (LocaleUtil.getCurrentLocale(context).language == Locale("zh").language) zh else en
13+
when (LocaleUtil.getCurrentLocale(context).language) {
14+
"nan", "zh" -> zh
15+
else -> en
16+
}
1417

1518
interface LocalizedDetail {
1619
val name: String

app/src/main/java/app/opass/ccip/model/SessionType.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,10 @@ data class SessionType(
1010
val en: En
1111
) {
1212
fun getDetails(context: Context) =
13-
if (LocaleUtil.getCurrentLocale(context).language == Locale("zh").language) zh else en
13+
when (LocaleUtil.getCurrentLocale(context).language) {
14+
"nan", "zh" -> zh
15+
else -> en
16+
}
1417

1518
interface LocalizedDetail {
1619
val name: String

app/src/main/java/app/opass/ccip/model/Speaker.kt

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@ data class Speaker(
1111
val en: En_
1212
) {
1313
fun getSpeakerDetail(context: Context): SpeakerDetail {
14-
return if (LocaleUtil.getCurrentLocale(context).language == Locale("zh").language) {
15-
zh
16-
} else {
17-
en
14+
return when (LocaleUtil.getCurrentLocale(context).language) {
15+
"nan", "zh" -> zh
16+
else -> en
1817
}
1918
}
2019
}

app/src/main/java/app/opass/ccip/ui/DrawerMenuAdapter.kt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import app.opass.ccip.model.FeatureType
1919
import app.opass.ccip.ui.DrawerMenuViewHolder.DividerViewHolder
2020
import app.opass.ccip.ui.DrawerMenuViewHolder.MenuItemViewHolder
2121
import app.opass.ccip.ui.DrawerMenuViewHolder.PlaceholderItemViewHolder
22-
import coil.load
22+
import coil3.load
2323

2424
class DrawerMenuAdapter(
2525
private val context: Context,
@@ -112,6 +112,7 @@ class DrawerMenuAdapter(
112112
merged.addAll(features.map(FeatureItem.Companion::fromFeature))
113113
merged.addAll(arrayOf(
114114
DividerItem,
115+
MenuAction.LAUNCH_LANGUAGE_PREFERENCE_FRAGMENT,
115116
MenuAction.LAUNCH_ABOUT_SCREEN
116117
))
117118
return merged
@@ -120,12 +121,14 @@ class DrawerMenuAdapter(
120121
private fun getTitleByAction(action: MenuAction): String {
121122
return when (action) {
122123
MenuAction.SWITCH_EVENT -> context.resources.getString(R.string.switch_event)
124+
MenuAction.LAUNCH_LANGUAGE_PREFERENCE_FRAGMENT -> context.getString(R.string.switch_language)
123125
MenuAction.LAUNCH_ABOUT_SCREEN -> context.getString(R.string.about_app)
124126
}
125127
}
126128

127129
private fun getIconByAction(action: MenuAction): Int = when (action) {
128130
MenuAction.SWITCH_EVENT -> R.drawable.ic_swap_horiz_black_24dp
131+
MenuAction.LAUNCH_LANGUAGE_PREFERENCE_FRAGMENT -> R.drawable.ic_languages_black_24dp
129132
MenuAction.LAUNCH_ABOUT_SCREEN -> R.drawable.ic_info_black_24dp
130133
}
131134

@@ -192,6 +195,7 @@ object DividerItem
192195

193196
enum class MenuAction {
194197
SWITCH_EVENT,
198+
LAUNCH_LANGUAGE_PREFERENCE_FRAGMENT,
195199
LAUNCH_ABOUT_SCREEN
196200
}
197201

0 commit comments

Comments
 (0)