Skip to content

Commit d067616

Browse files
committed
allow refreshing of account login
1 parent 08523f7 commit d067616

File tree

2 files changed

+18
-29
lines changed

2 files changed

+18
-29
lines changed

lib/client/client_regular_account.dart

+1-22
Original file line numberDiff line numberDiff line change
@@ -430,7 +430,6 @@ class XRegularAccount extends ChangeNotifier {
430430
_authHeader?.addAll({"Cookie": cookies.join(";")});
431431
_authHeader?.addAll({"authorization": bearerToken});
432432
_authHeader?.addAll({"x-csrf-token": csrf_token});
433-
await SetAuthHeader(_authHeader);
434433
//_authHeader!.addAll(userAgentHeader);
435434
//authHeader.addAll({"Host": "api.twitter.com"});
436435
}
@@ -462,9 +461,6 @@ class XRegularAccount extends ChangeNotifier {
462461
if (_expiresAt == -1) _expiresAt = await GetTokenExpires();
463462
if (_tokenRemaining == -1) _tokenRemaining = await GetTokenRemaining();
464463
if (_tokenLimit == -1) _tokenLimit = await GetTokenLimit();
465-
if (_authHeader == null) {
466-
_authHeader = await GetAuthHeaderPref();
467-
}
468464
}
469465

470466
Future<void> GetAuthTokenLimits(
@@ -497,6 +493,7 @@ class XRegularAccount extends ChangeNotifier {
497493
Future<Map<dynamic, dynamic>?> GetAuthHeader(
498494
{required String username, required String password, String? email, BuildContext? context}) async {
499495
try {
496+
DeleteAllCookies();
500497
if (_authHeader == null) await getAuthTokenFromPref();
501498
if (!await IsTokenExpired() && _authHeader != null) return _authHeader!;
502499
await GetGuestId(userAgentHeader);
@@ -519,11 +516,9 @@ class XRegularAccount extends ChangeNotifier {
519516
}
520517

521518
Future DeleteAllCookies() async {
522-
this.DeleteAuthHeader();
523519
this.DeleteTokenExpires();
524520
this.DeleteTokenLimit();
525521
this.DeleteTokenRemaining();
526-
_authHeader = null;
527522
_expiresAt = -1;
528523
_tokenLimit = -1;
529524
_tokenRemaining = -1;
@@ -542,22 +537,6 @@ class XRegularAccount extends ChangeNotifier {
542537
return prefs.remove("KDT_Cookie");
543538
}
544539

545-
Future SetAuthHeader(Map<String, String>? header) async {
546-
await prefs.set("auth_header", json.encode(header));
547-
}
548-
549-
Future<Map<String, String>?> GetAuthHeaderPref() async {
550-
var authHeader = await prefs.get("auth_header") ?? null;
551-
if (authHeader != null) {
552-
return Map.castFrom<String, dynamic, String, String>(json.decode(authHeader));
553-
} else
554-
return null;
555-
}
556-
557-
Future DeleteAuthHeader() async {
558-
await prefs.remove("auth_header");
559-
}
560-
561540
Future SetTokenExpires(int expiresAt) async {
562541
await prefs.set("auth_expiresAt", expiresAt);
563542
}

lib/settings/_account.dart

+17-7
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,23 @@ class _SettingsAccountFragment extends State<SettingsAccountFragment> {
4040
title: Text(data[index]['id'].toString()),
4141
subtitle: Text(data[index]['email'].toString()),
4242
leading: Icon(Icons.account_circle),
43-
trailing: IconButton(
44-
icon: Icon(Icons.delete),
45-
onPressed: () async {
46-
await deleteAccount(data[index]['id'].toString());
47-
setState(() {});
48-
},
49-
),
43+
trailing: Row(mainAxisSize: MainAxisSize.min, children: [
44+
IconButton(
45+
icon: Icon(Icons.refresh),
46+
onPressed: () async {
47+
await addAccount(model.prefs, data[index]['id'] as String,
48+
data[index]['password'] as String, data[index]['email'].toString());
49+
setState(() {});
50+
},
51+
),
52+
IconButton(
53+
icon: Icon(Icons.delete),
54+
onPressed: () async {
55+
await deleteAccount(data[index]['id'].toString());
56+
setState(() {});
57+
},
58+
)
59+
]),
5060
onTap: () => showDialog(
5161
context: context,
5262
builder: (_) => addDialog(model,

0 commit comments

Comments
 (0)