Fixes issue #16

When an account is from a different instance, a clickable warning message is displayed which opens the built-in browser.
This commit is contained in:
stom79 2017-11-03 08:01:56 +01:00
parent 5fd0ab6b45
commit eb15a19413
8 changed files with 48 additions and 4 deletions

View File

@ -45,6 +45,7 @@ import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.PopupMenu;
import android.text.SpannableString;
import android.text.method.LinkMovementMethod;
import android.text.style.UnderlineSpan;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
@ -396,7 +397,7 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi
@Override
public void onRetrieveAccount(Account account, Error error) {
public void onRetrieveAccount(final Account account, Error error) {
if( error != null){
final SharedPreferences sharedpreferences = getSharedPreferences(Helper.APP_PREFS, Context.MODE_PRIVATE);
boolean show_error_messages = sharedpreferences.getBoolean(Helper.SET_SHOW_ERROR_MESSAGES, true);
@ -481,7 +482,26 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi
final AppBarLayout appBar = findViewById(R.id.appBar);
maxScrollSize = appBar.getTotalScrollRange();
final TextView warning_message = findViewById(R.id.warning_message);
SpannableString content = new SpannableString(getString(R.string.disclaimer_full));
content.setSpan(new UnderlineSpan(), 0, content.length(), 0);
warning_message.setText(content);
warning_message.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(), WebviewActivity.class);
Bundle b = new Bundle();
if( !accountUrl.startsWith("http://") && ! accountUrl.startsWith("https://"))
accountUrl = "http://" + accountUrl;
b.putString("url", accountUrl);
intent.putExtras(b);
startActivity(intent);
}
});
if( account.getAcct().contains("@") )
warning_message.setVisibility(View.VISIBLE);
else
warning_message.setVisibility(View.GONE);
appBar.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
@ -507,12 +527,17 @@ public class ShowAccountActivity extends AppCompatActivity implements OnPostActi
.scaleY(0).scaleX(0)
.setDuration(400)
.start();
warning_message.setVisibility(View.GONE);
}
if (percentage <= 40 && !avatarShown) {
avatarShown = true;
account_pp.animate()
.scaleY(1).scaleX(1)
.start();
if( account.getAcct().contains("@") )
warning_message.setVisibility(View.VISIBLE);
else
warning_message.setVisibility(View.GONE);
}
}
});

View File

@ -241,7 +241,14 @@
android:gravity="center"
tools:ignore="ContentDescription" />
</LinearLayout>
<TextView
android:id="@+id/warning_message"
android:visibility="gone"
android:gravity="center"
android:layout_gravity="center"
android:text="@string/disclaimer_full"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.v7.widget.Toolbar>
<android.support.design.widget.TabLayout
android:id="@+id/account_tabLayout"

View File

@ -234,7 +234,14 @@
android:gravity="center"
tools:ignore="ContentDescription" />
</LinearLayout>
<TextView
android:id="@+id/warning_message"
android:visibility="gone"
android:gravity="center"
android:layout_gravity="center"
android:text="@string/disclaimer_full"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</android.support.v7.widget.Toolbar>
<android.support.design.widget.TabLayout
android:id="@+id/account_tabLayout"

View File

@ -429,4 +429,5 @@
<string name="upload_form_description">Für Menschen mit Sehbehinderung beschreiben</string>
<string name="translate">Translate</string>
<string name="please_wait">Please, wait few seconds before making this action.</string>
<string name="disclaimer_full">Das Profil wird möglicherweise unvollständig wiedergegeben.</string>
</resources>

View File

@ -436,4 +436,5 @@
<string name="upload_form_description">Décrire pour les malvoyants</string>
<string name="translate">Traduire</string>
<string name="please_wait">Veuillez patienter quelques secondes avant de faire cette action.</string>
<string name="disclaimer_full">Les données ci-dessous peuvent ne pas refléter ce profil dans sa totalité.</string>
</resources>

View File

@ -433,4 +433,5 @@
<string name="upload_form_description">Omschrijf dit voor mensen met een visuele beperking</string>
<string name="translate">Translate</string>
<string name="please_wait">Please, wait few seconds before making this action.</string>
<string name="disclaimer_full">De informatie hieronder kan mogelijk een incompleet beeld geven van dit gebruikersprofiel.</string>
</resources>

View File

@ -435,4 +435,5 @@
<string name="upload_form_description">Describe for the visually impaired</string>
<string name="translate">Translate</string>
<string name="please_wait">Please, wait few seconds before making this action.</string>
<string name="disclaimer_full">Information below may reflect the user\'s profile incompletely.</string>
</resources>

View File

@ -93,6 +93,7 @@
<string name="click_to_change">Click on the path to change it</string>
<string name="failed">Failed!</string>
<string name="scheduled_toots">Scheduled toots</string>
<string name="disclaimer_full">Information below may reflect the user\'s profile incompletely.</string>
<!-- Status -->
<string name="no_status">No toot to display</string>
<string name="fav_added">The toot was added to favourites</string>