mirror of
https://github.com/Livinglist/Hacki.git
synced 2025-08-06 18:24:42 +08:00
Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
a90d52f348 |
2
fastlane/metadata/android/en-US/changelogs/65.txt
Normal file
2
fastlane/metadata/android/en-US/changelogs/65.txt
Normal file
@ -0,0 +1,2 @@
|
||||
- Offline mode now includes web pages.
|
||||
- You can now sort comments in story screen.
|
@ -577,7 +577,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 0.2.22;
|
||||
MARKETING_VERSION = 0.2.23;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.jiaqi.hacki;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
@ -714,7 +714,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 0.2.22;
|
||||
MARKETING_VERSION = 0.2.23;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.jiaqi.hacki;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
@ -745,7 +745,7 @@
|
||||
"$(inherited)",
|
||||
"@executable_path/Frameworks",
|
||||
);
|
||||
MARKETING_VERSION = 0.2.22;
|
||||
MARKETING_VERSION = 0.2.23;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = com.jiaqi.hacki;
|
||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||
PROVISIONING_PROFILE_SPECIFIER = "";
|
||||
|
@ -38,10 +38,14 @@ class AuthRepository extends PostableRepository {
|
||||
final bool success = await performDefaultPost(uri, data);
|
||||
|
||||
if (success) {
|
||||
await _preferenceRepository.setAuth(
|
||||
username: username,
|
||||
password: password,
|
||||
);
|
||||
try {
|
||||
await _preferenceRepository.setAuth(
|
||||
username: username,
|
||||
password: password,
|
||||
);
|
||||
} catch (_) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return success;
|
||||
|
@ -140,8 +140,25 @@ class PreferenceRepository {
|
||||
required String username,
|
||||
required String password,
|
||||
}) async {
|
||||
await _secureStorage.write(key: _usernameKey, value: username);
|
||||
await _secureStorage.write(key: _passwordKey, value: password);
|
||||
const AndroidOptions androidOptions = AndroidOptions(resetOnError: true);
|
||||
try {
|
||||
await _secureStorage.write(
|
||||
key: _usernameKey,
|
||||
value: username,
|
||||
aOptions: androidOptions,
|
||||
);
|
||||
await _secureStorage.write(
|
||||
key: _passwordKey,
|
||||
value: password,
|
||||
aOptions: androidOptions,
|
||||
);
|
||||
} catch (_) {
|
||||
await _secureStorage.deleteAll(
|
||||
aOptions: androidOptions,
|
||||
);
|
||||
|
||||
rethrow;
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> removeAuth() async {
|
||||
|
@ -410,7 +410,7 @@ class _ProfileScreenState extends State<ProfileScreen>
|
||||
showAboutDialog(
|
||||
context: context,
|
||||
applicationName: 'Hacki',
|
||||
applicationVersion: 'v0.2.22',
|
||||
applicationVersion: 'v0.2.23',
|
||||
applicationIcon: ClipRRect(
|
||||
borderRadius: const BorderRadius.all(
|
||||
Radius.circular(
|
||||
|
@ -1,6 +1,6 @@
|
||||
name: hacki
|
||||
description: A Hacker News reader.
|
||||
version: 0.2.22+64
|
||||
version: 0.2.23+65
|
||||
publish_to: none
|
||||
|
||||
environment:
|
||||
|
Reference in New Issue
Block a user