@@ -155,15 +155,15 @@ object UserProfileDialog {
155
155
chipGold.visibility = View .GONE
156
156
}
157
157
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 ) {
163
163
chipFollowed.visibility = View .GONE
164
164
chipFollow.visibility = View .VISIBLE
165
165
chipUnfollow.visibility = View .GONE
166
- }else {
166
+ } else {
167
167
chipFollow.visibility = View .GONE
168
168
chipUnfollow.visibility = View .VISIBLE
169
169
}
@@ -273,8 +273,7 @@ object UserProfileDialog {
273
273
274
274
private fun subscribeToUser (activity : AppCompatActivity , username : String ) {
275
275
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 "
278
277
val userSubredditCanonicalId = SubredditCanonicalId (usernameToSubreddit)
279
278
280
279
val subMan = getSubMan(activity)
@@ -301,26 +300,23 @@ object UserProfileDialog {
301
300
302
301
private fun unsubscribeToUser (activity : AppCompatActivity , username : String ) {
303
302
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 " )
307
305
308
306
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()
324
320
}
325
321
} catch (e: InvalidSubredditNameException ) {
326
322
throw RuntimeException (e)
0 commit comments