-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Migrate to Jetpack Compose #16
base: main
Are you sure you want to change the base?
Conversation
dependencies: use Hilt instead of koin for better performance use Ktor, Ktorfit, CIO instead of OkHttp and Retorfit for overall async network use DataStore, EncryptedDataStore instead of SharedPreference for async preference load and store use Version Catalog, kts script, java 17 remove PermissionX, AboutPage style: Single Activity architect. Jetpack Compose Navigation for routing.
Thanks for your wonderful work! This is a huge PR, and I need more time to review it during holiday. |
…nterface to manage user preference
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Having not reviewing all features and layouts carefully, but mostly LGTM. I suggest adding some tests to ensure stability.
I will approve it after playing with it and finding no errors.
STYLE-PRACTICES.md
Outdated
|
||
旦夕是面向多类型账户系统的,不应想当然地把 `PersonInfo` 视作只包含 UIS 账号密码的数据类型,也不要在设置中过多出现「复旦」有关的字样。 | ||
旦夕是面向多类型账户系统的,`PersonInfo` 是只针对 UIS 账号密码的数据类型。 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this sentence contradicting itself? Why does PersonInfo
only contain Fudan's UIS information if we are aiming at a general-use account? Are there other PersonInfo
-like data classes in the future? Clarify it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There should not be any general-use account. UIS account UISInfo
and FDUHole account OTJWTToken
should be kept separate since they can be logged in and logged out independently. Also, any data class like PersonInfo
, which I guess means detailed info of an account, should load from network every time app open. Only those info binding to an account token or credential, like id
, name
, can be stored in persistent storage.
I will update this sentence.
android:exported="false"/> | ||
<activity | ||
android:name=".SingleFragmentActivity" | ||
android:exported="false" /> <!-- Opt-out the usage statistics collection by Google. --> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep this comment about android.webkit.WebView.MetricsOptOut
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
finished, may some bug of GitHub
/** | ||
* @return a list whose size is 6. | ||
* The sequence is 文科馆、理科馆、医科馆1-6层、张江馆、江湾馆、医科馆B1 | ||
*/ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Keep this comment for future reference.
if (showPermissionDialog) { | ||
RequestSinglePermissionDialog( | ||
permission = Manifest.permission.ACCESS_COARSE_LOCATION, | ||
rationale = "我们向您请求大致位置权限,是因为当前页面正在调用 Geolocation API 来获知您的大致位置。", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I18n?
多试几次呢 |
多试几次也没用,是瞬间失败,没有过程。网络流量里看到有连接过 <uis.fudan.edu.cn>。 |
No description provided.