@@ -177,15 +177,15 @@ object UserProfileDialog {
177
177
chipGold.visibility = View .GONE
178
178
}
179
179
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 ) {
185
185
chipFollowed.visibility = View .GONE
186
186
chipFollow.visibility = View .VISIBLE
187
187
chipUnfollow.visibility = View .GONE
188
- }else {
188
+ } else {
189
189
chipFollow.visibility = View .GONE
190
190
chipUnfollow.visibility = View .VISIBLE
191
191
}
@@ -310,8 +310,7 @@ object UserProfileDialog {
310
310
311
311
private fun subscribeToUser (activity : AppCompatActivity , username : String ) {
312
312
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 "
315
314
val userSubredditCanonicalId = SubredditCanonicalId (usernameToSubreddit)
316
315
317
316
val subMan = getSubMan(activity)
@@ -338,26 +337,23 @@ object UserProfileDialog {
338
337
339
338
private fun unsubscribeToUser (activity : AppCompatActivity , username : String ) {
340
339
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 " )
344
342
345
343
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()
361
357
}
362
358
} catch (e: InvalidSubredditNameException ) {
363
359
throw RuntimeException (e)
0 commit comments