Skip to content

Commit ec54088

Browse files
committed
Possibility for /user/username and u_username when checking and unfollowing
1 parent d26590d commit ec54088

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
@@ -155,15 +155,15 @@ object UserProfileDialog {
155155
chipGold.visibility = View.GONE
156156
}
157157

158-
val usernameToSubreddit = "u_"+username
159-
val userSubredditCanonicalId = SubredditCanonicalId(usernameToSubreddit)
160-
if ((getSubMan(activity).getSubscriptionState(userSubredditCanonicalId)
161-
== SubredditSubscriptionState.NOT_SUBSCRIBED)
162-
) {
158+
val userSubredditCanonicalIdA = SubredditCanonicalId("/user/$username")
159+
val userSubredditCanonicalIdB = SubredditCanonicalId("u_$username")
160+
val subMan = getSubMan(activity)
161+
if (subMan.getSubscriptionState(userSubredditCanonicalIdA) == SubredditSubscriptionState.NOT_SUBSCRIBED &&
162+
subMan.getSubscriptionState(userSubredditCanonicalIdB) == SubredditSubscriptionState.NOT_SUBSCRIBED) {
163163
chipFollowed.visibility = View.GONE
164164
chipFollow.visibility = View.VISIBLE
165165
chipUnfollow.visibility = View.GONE
166-
}else{
166+
} else {
167167
chipFollow.visibility = View.GONE
168168
chipUnfollow.visibility = View.VISIBLE
169169
}
@@ -273,8 +273,7 @@ object UserProfileDialog {
273273

274274
private fun subscribeToUser(activity: AppCompatActivity, username: String) {
275275
try {
276-
//Every user has a user-subreddit that you can follow
277-
val usernameToSubreddit = "u_"+username //subreddit of spez is u_spez
276+
val usernameToSubreddit = "u_$username"
278277
val userSubredditCanonicalId = SubredditCanonicalId(usernameToSubreddit)
279278

280279
val subMan = getSubMan(activity)
@@ -301,26 +300,23 @@ object UserProfileDialog {
301300

302301
private fun unsubscribeToUser(activity: AppCompatActivity, username: String) {
303302
try {
304-
//Every user has a user-subreddit that you can follow
305-
val usernameToSubreddit = "u_"+username //subreddit of spez is u_spez
306-
val userSubredditCanonicalId = SubredditCanonicalId(usernameToSubreddit)
303+
val userSubredditCanonicalIdA = SubredditCanonicalId("/user/$username")
304+
val userSubredditCanonicalIdB = SubredditCanonicalId("u_$username")
307305

308306
val subMan = getSubMan(activity)
309-
if ((subMan.getSubscriptionState(userSubredditCanonicalId)
310-
== SubredditSubscriptionState.SUBSCRIBED)
311-
) {
312-
subMan.unsubscribe(userSubredditCanonicalId, activity)
313-
Toast.makeText(
314-
activity,
315-
R.string.userprofile_toast_unfollow_loading,
316-
Toast.LENGTH_SHORT
317-
).show()
318-
} else {
319-
Toast.makeText(
320-
activity,
321-
R.string.userprofile_toast_not_following,
322-
Toast.LENGTH_SHORT
323-
).show()
307+
308+
fun unsubscribeIfSubscribed(canonicalId: SubredditCanonicalId): Boolean {
309+
return if (subMan.getSubscriptionState(canonicalId) == SubredditSubscriptionState.SUBSCRIBED) {
310+
subMan.unsubscribe(canonicalId, activity)
311+
Toast.makeText(activity, R.string.userprofile_toast_unfollow_loading, Toast.LENGTH_SHORT).show()
312+
true
313+
} else {
314+
false
315+
}
316+
}
317+
318+
if (!unsubscribeIfSubscribed(userSubredditCanonicalIdA) && !unsubscribeIfSubscribed(userSubredditCanonicalIdB)) {
319+
Toast.makeText(activity, R.string.userprofile_toast_not_following, Toast.LENGTH_SHORT).show()
324320
}
325321
} catch (e: InvalidSubredditNameException) {
326322
throw RuntimeException(e)

0 commit comments

Comments
 (0)