|  | @ -12,12 +12,17 @@ import android.os.Bundle; | 
			
		
	
		
		
			
				
					|  |  | import android.os.Handler; |  |  | import android.os.Handler; | 
			
		
	
		
		
			
				
					|  |  | import android.support.design.widget.FloatingActionButton; |  |  | import android.support.design.widget.FloatingActionButton; | 
			
		
	
		
		
			
				
					|  |  | import android.support.design.widget.Snackbar; |  |  | import android.support.design.widget.Snackbar; | 
			
		
	
		
		
			
				
					|  |  |  |  |  | import android.support.v4.content.ContextCompat; | 
			
		
	
		
		
			
				
					|  |  |  |  |  | import android.support.v4.content.res.ResourcesCompat; | 
			
		
	
		
		
			
				
					|  |  | import android.support.v7.app.AlertDialog; |  |  | import android.support.v7.app.AlertDialog; | 
			
		
	
		
		
			
				
					|  |  | import android.support.v7.app.AppCompatDelegate; |  |  | import android.support.v7.app.AppCompatDelegate; | 
			
		
	
		
		
			
				
					|  |  | import android.support.v7.widget.RecyclerView; |  |  | import android.support.v7.widget.RecyclerView; | 
			
		
	
		
		
			
				
					|  |  |  |  |  | import android.text.Spannable; | 
			
		
	
		
		
			
				
					|  |  |  |  |  | import android.text.SpannableString; | 
			
		
	
		
		
			
				
					|  |  | import android.text.SpannableStringBuilder; |  |  | import android.text.SpannableStringBuilder; | 
			
		
	
		
		
			
				
					|  |  | import android.text.TextUtils; |  |  | import android.text.TextUtils; | 
			
		
	
		
		
			
				
					|  |  | import android.text.method.LinkMovementMethod; |  |  | import android.text.method.LinkMovementMethod; | 
			
		
	
		
		
			
				
					|  |  |  |  |  | import android.text.style.ForegroundColorSpan; | 
			
		
	
		
		
			
				
					|  |  | import android.view.LayoutInflater; |  |  | import android.view.LayoutInflater; | 
			
		
	
		
		
			
				
					|  |  | import android.view.Menu; |  |  | import android.view.Menu; | 
			
		
	
		
		
			
				
					|  |  | import android.view.MenuItem; |  |  | import android.view.MenuItem; | 
			
		
	
	
		
		
			
				
					|  | @ -62,7 +67,7 @@ import static gr.thmmy.mthmmy.services.NotificationService.NEW_POST_TAG; | 
			
		
	
		
		
			
				
					|  |  |  */ |  |  |  */ | 
			
		
	
		
		
			
				
					|  |  | @SuppressWarnings("unchecked") |  |  | @SuppressWarnings("unchecked") | 
			
		
	
		
		
			
				
					|  |  | public class TopicActivity extends BaseActivity implements TopicAdapter.OnPostFocusChangeListener, |  |  | public class TopicActivity extends BaseActivity implements TopicAdapter.OnPostFocusChangeListener, | 
			
		
	
		
		
			
				
					
					|  |  |         EmojiKeyboard.EmojiKeyboardOwner{ |  |  |         EmojiKeyboard.EmojiKeyboardOwner { | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |     //Activity's variables
 |  |  |     //Activity's variables
 | 
			
		
	
		
		
			
				
					|  |  |     /** |  |  |     /** | 
			
		
	
		
		
			
				
					|  |  |      * The key to use when putting topic's url String to {@link TopicActivity}'s Bundle. |  |  |      * The key to use when putting topic's url String to {@link TopicActivity}'s Bundle. | 
			
		
	
	
		
		
			
				
					|  | @ -651,7 +656,15 @@ public class TopicActivity extends BaseActivity implements TopicAdapter.OnPostFo | 
			
		
	
		
		
			
				
					|  |  |                         // no page has been loaded yet. Give user the ability to refresh
 |  |  |                         // no page has been loaded yet. Give user the ability to refresh
 | 
			
		
	
		
		
			
				
					|  |  |                         recyclerView.setVisibility(View.GONE); |  |  |                         recyclerView.setVisibility(View.GONE); | 
			
		
	
		
		
			
				
					|  |  |                         TextView errorTextview = findViewById(R.id.error_textview); |  |  |                         TextView errorTextview = findViewById(R.id.error_textview); | 
			
		
	
		
		
			
				
					
					|  |  |                         errorTextview.setText(getString(R.string.network_error_retry_prompt)); |  |  | 
 | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					|  |  |  |  |  |                         Spannable errorText = new SpannableString(getString(R.string.network_error_retry_prompt)); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                         errorText.setSpan( | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                                 new ForegroundColorSpan(ResourcesCompat.getColor(getResources(), R.color.accent, null)), | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                                 errorText.toString().indexOf("Tap to retry"), | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                                 errorText.length(), | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                                 Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                         errorTextview.setText(errorText); | 
			
		
	
		
		
			
				
					|  |  |                         errorTextview.setVisibility(View.VISIBLE); |  |  |                         errorTextview.setVisibility(View.VISIBLE); | 
			
		
	
		
		
			
				
					|  |  |                         errorTextview.setOnClickListener(view -> { |  |  |                         errorTextview.setOnClickListener(view -> { | 
			
		
	
		
		
			
				
					|  |  |                             viewModel.reloadPage(); |  |  |                             viewModel.reloadPage(); | 
			
		
	
	
		
		
			
				
					|  | @ -671,6 +684,15 @@ public class TopicActivity extends BaseActivity implements TopicAdapter.OnPostFo | 
			
		
	
		
		
			
				
					|  |  |                     Timber.w("Requested topic was unauthorized"); |  |  |                     Timber.w("Requested topic was unauthorized"); | 
			
		
	
		
		
			
				
					|  |  |                     recyclerView.setVisibility(View.GONE); |  |  |                     recyclerView.setVisibility(View.GONE); | 
			
		
	
		
		
			
				
					|  |  |                     TextView errorTextview = findViewById(R.id.error_textview); |  |  |                     TextView errorTextview = findViewById(R.id.error_textview); | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                     Spannable errorText = new SpannableString(getString(R.string.unauthorized_topic_error)); | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                     errorText.setSpan( | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                             //TODO: maybe change the color to a red in order to indicate the error nature of the message
 | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                             new ForegroundColorSpan(ResourcesCompat.getColor(getResources(), R.color.accent, null)), | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                             0, | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                             errorText.length(), | 
			
		
	
		
		
			
				
					|  |  |  |  |  |                             Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); | 
			
		
	
		
		
			
				
					|  |  |  |  |  | 
 | 
			
		
	
		
		
			
				
					|  |  |                     errorTextview.setText(getString(R.string.unauthorized_topic_error)); |  |  |                     errorTextview.setText(getString(R.string.unauthorized_topic_error)); | 
			
		
	
		
		
			
				
					|  |  |                     errorTextview.setVisibility(View.VISIBLE); |  |  |                     errorTextview.setVisibility(View.VISIBLE); | 
			
		
	
		
		
			
				
					|  |  |                     break; |  |  |                     break; | 
			
		
	
	
		
		
			
				
					|  | 
 |