Skip to content

Commit e2f4647

Browse files
folkematQuantumBadger
authored andcommitted
Possibility for /user/username and u_username when checking and unfollowing
1 parent 02f497e commit e2f4647

File tree

1 file changed

+22
-26
lines changed

1 file changed

+22
-26
lines changed

src/main/java/org/quantumbadger/redreader/fragments/UserProfileDialog.kt

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -177,15 +177,15 @@ object UserProfileDialog {
177177
chipGold.visibility = View.GONE
178178
}
179179

180-
val usernameToSubreddit = "u_"+username
181-
val userSubredditCanonicalId = SubredditCanonicalId(usernameToSubreddit)
182-
if ((getSubMan(activity).getSubscriptionState(userSubredditCanonicalId)
183-
== SubredditSubscriptionState.NOT_SUBSCRIBED)
184-
) {
180+
val userSubredditCanonicalIdA = SubredditCanonicalId("/user/$username")
181+
val userSubredditCanonicalIdB = SubredditCanonicalId("u_$username")
182+
val subMan = getSubMan(activity)
183+
if (subMan.getSubscriptionState(userSubredditCanonicalIdA) == SubredditSubscriptionState.NOT_SUBSCRIBED &&
184+
subMan.getSubscriptionState(userSubredditCanonicalIdB) == SubredditSubscriptionState.NOT_SUBSCRIBED) {
185185
chipFollowed.visibility = View.GONE
186186
chipFollow.visibility = View.VISIBLE
187187
chipUnfollow.visibility = View.GONE
188-
}else{
188+
} else {
189189
chipFollow.visibility = View.GONE
190190
chipUnfollow.visibility = View.VISIBLE
191191
}
@@ -310,8 +310,7 @@ object UserProfileDialog {
310310

311311
private fun subscribeToUser(activity: AppCompatActivity, username: String) {
312312
try {
313-
//Every user has a user-subreddit that you can follow
314-
val usernameToSubreddit = "u_"+username //subreddit of spez is u_spez
313+
val usernameToSubreddit = "u_$username"
315314
val userSubredditCanonicalId = SubredditCanonicalId(usernameToSubreddit)
316315

317316
val subMan = getSubMan(activity)
@@ -338,26 +337,23 @@ object UserProfileDialog {
338337

339338
private fun unsubscribeToUser(activity: AppCompatActivity, username: String) {
340339
try {
341-
//Every user has a user-subreddit that you can follow
342-
val usernameToSubreddit = "u_"+username //subreddit of spez is u_spez
343-
val userSubredditCanonicalId = SubredditCanonicalId(usernameToSubreddit)
340+
val userSubredditCanonicalIdA = SubredditCanonicalId("/user/$username")
341+
val userSubredditCanonicalIdB = SubredditCanonicalId("u_$username")
344342

345343
val subMan = getSubMan(activity)
346-
if ((subMan.getSubscriptionState(userSubredditCanonicalId)
347-
== SubredditSubscriptionState.SUBSCRIBED)
348-
) {
349-
subMan.unsubscribe(userSubredditCanonicalId, activity)
350-
Toast.makeText(
351-
activity,
352-
R.string.userprofile_toast_unfollow_loading,
353-
Toast.LENGTH_SHORT
354-
).show()
355-
} else {
356-
Toast.makeText(
357-
activity,
358-
R.string.userprofile_toast_not_following,
359-
Toast.LENGTH_SHORT
360-
).show()
344+
345+
fun unsubscribeIfSubscribed(canonicalId: SubredditCanonicalId): Boolean {
346+
return if (subMan.getSubscriptionState(canonicalId) == SubredditSubscriptionState.SUBSCRIBED) {
347+
subMan.unsubscribe(canonicalId, activity)
348+
Toast.makeText(activity, R.string.userprofile_toast_unfollow_loading, Toast.LENGTH_SHORT).show()
349+
true
350+
} else {
351+
false
352+
}
353+
}
354+
355+
if (!unsubscribeIfSubscribed(userSubredditCanonicalIdA) && !unsubscribeIfSubscribed(userSubredditCanonicalIdB)) {
356+
Toast.makeText(activity, R.string.userprofile_toast_not_following, Toast.LENGTH_SHORT).show()
361357
}
362358
} catch (e: InvalidSubredditNameException) {
363359
throw RuntimeException(e)

0 commit comments

Comments
 (0)