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