@@ -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