Prepares layout + fixes attribute in API
This commit is contained in:
parent
15fe273fb3
commit
469d485ab3
|
@ -91,6 +91,8 @@ import fr.gouv.etalab.mastodon.interfaces.OnRetrieveFeedsAccountInterface;
|
|||
import fr.gouv.etalab.mastodon.interfaces.OnRetrieveFeedsInterface;
|
||||
import fr.gouv.etalab.mastodon.interfaces.OnRetrieveRelationshipInterface;
|
||||
import fr.gouv.etalab.mastodon.client.Entities.Relationship;
|
||||
|
||||
import static fr.gouv.etalab.mastodon.helper.Helper.THEME_DARK;
|
||||
import static fr.gouv.etalab.mastodon.helper.Helper.changeDrawableColor;
|
||||
import static fr.gouv.etalab.mastodon.helper.Helper.withSuffix;
|
||||
|
||||
|
@ -494,6 +496,23 @@ public class ShowAccountActivity extends BaseActivity implements OnPostActionInt
|
|||
startActivity(intent);
|
||||
}
|
||||
});
|
||||
//This account was moved to another one
|
||||
if( account.getMoved_to_account() != null){
|
||||
TextView account_moved = findViewById(R.id.account_moved);
|
||||
account_moved.setVisibility(View.VISIBLE);
|
||||
if( theme == THEME_DARK)
|
||||
changeDrawableColor(ShowAccountActivity.this, R.drawable.ic_card_travel,R.color.dark_icon);
|
||||
else
|
||||
changeDrawableColor(ShowAccountActivity.this, R.drawable.ic_card_travel,R.color.black);
|
||||
Drawable imgTravel = ContextCompat.getDrawable(ShowAccountActivity.this, R.drawable.ic_card_travel);
|
||||
assert imgTravel != null;
|
||||
imgTravel.setBounds(0,0,(int) (20 * scale + 0.5f),(int) (20 * scale + 0.5f));
|
||||
account_moved.setCompoundDrawables(imgTravel, null, null, null);
|
||||
//Retrieves content and make account names clickable
|
||||
SpannableString spannableString = account.moveToText(ShowAccountActivity.this);
|
||||
account_moved.setText(spannableString, TextView.BufferType.SPANNABLE);
|
||||
}
|
||||
|
||||
if( account.getAcct().contains("@") )
|
||||
warning_message.setVisibility(View.VISIBLE);
|
||||
else
|
||||
|
|
|
@ -1752,8 +1752,8 @@ public class API {
|
|||
account.setStatuses_count(Integer.valueOf(resobj.get("statuses_count").toString()));
|
||||
account.setNote(resobj.get("note").toString());
|
||||
try{
|
||||
account.setMoved_to_account(parseAccountResponse(context, resobj.getJSONObject("moved_to_account")));
|
||||
}catch (Exception ignored){}
|
||||
account.setMoved_to_account(parseAccountResponse(context, resobj.getJSONObject("moved")));
|
||||
}catch (Exception ignored){ignored.printStackTrace();}
|
||||
account.setUrl(resobj.get("url").toString());
|
||||
account.setAvatar(resobj.get("avatar").toString());
|
||||
account.setAvatar_static(resobj.get("avatar_static").toString());
|
||||
|
|
|
@ -14,12 +14,22 @@
|
|||
* see <http://www.gnu.org/licenses>. */
|
||||
package fr.gouv.etalab.mastodon.client.Entities;
|
||||
|
||||
import android.content.*;
|
||||
import android.os.Bundle;
|
||||
import android.os.Parcel;
|
||||
import android.os.Parcelable;
|
||||
import android.text.SpannableString;
|
||||
import android.text.Spanned;
|
||||
import android.text.TextPaint;
|
||||
import android.text.style.ClickableSpan;
|
||||
import android.view.View;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
import fr.gouv.etalab.mastodon.R;
|
||||
import fr.gouv.etalab.mastodon.activities.ShowAccountActivity;
|
||||
|
||||
/**
|
||||
* Created by Thomas on 23/04/2017.
|
||||
* Manage accounts
|
||||
|
@ -52,6 +62,7 @@ public class Account implements Parcelable {
|
|||
private boolean isMakingAction = false;
|
||||
private Account moved_to_account;
|
||||
|
||||
|
||||
public followAction getFollowType() {
|
||||
return followType;
|
||||
}
|
||||
|
@ -313,4 +324,36 @@ public class Account implements Parcelable {
|
|||
public void setStatuses_count_str(String statuses_count_str) {
|
||||
this.statuses_count_str = statuses_count_str;
|
||||
}
|
||||
|
||||
/**
|
||||
* Makes the move to account clickable
|
||||
* @param context Context
|
||||
* @return SpannableString
|
||||
*/
|
||||
public SpannableString moveToText(final android.content.Context context){
|
||||
SpannableString spannableString = null;
|
||||
if( this.getMoved_to_account() != null) {
|
||||
spannableString = new SpannableString(context.getString(R.string.account_moved_to, this.getAcct(), "@"+this.getMoved_to_account().getAcct()));
|
||||
int startPositionTar = spannableString.toString().indexOf("@"+this.getMoved_to_account().getAcct());
|
||||
int endPositionTar = startPositionTar + ("@"+this.getMoved_to_account().getAcct()).length();
|
||||
final String idTar = this.getMoved_to_account().getId();
|
||||
spannableString.setSpan(new ClickableSpan() {
|
||||
@Override
|
||||
public void onClick(View textView) {
|
||||
Intent intent = new Intent(context, ShowAccountActivity.class);
|
||||
Bundle b = new Bundle();
|
||||
b.putString("accountId", idTar);
|
||||
intent.putExtras(b);
|
||||
context.startActivity(intent);
|
||||
}
|
||||
@Override
|
||||
public void updateDrawState(TextPaint ds) {
|
||||
super.updateDrawState(ds);
|
||||
}
|
||||
},
|
||||
startPositionTar, endPositionTar,
|
||||
Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
|
||||
}
|
||||
return spannableString;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24.0"
|
||||
android:viewportHeight="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M20,6h-3L17,4c0,-1.11 -0.89,-2 -2,-2L9,2c-1.11,0 -2,0.89 -2,2v2L4,6c-1.11,0 -2,0.89 -2,2v11c0,1.11 0.89,2 2,2h16c1.11,0 2,-0.89 2,-2L22,8c0,-1.11 -0.89,-2 -2,-2zM9,4h6v2L9,6L9,4zM20,19L4,19v-2h16v2zM20,14L4,14L4,8h3v2h2L9,8h6v2h2L17,8h3v6z"/>
|
||||
</vector>
|
|
@ -186,6 +186,16 @@
|
|||
android:layout_height="wrap_content"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<TextView
|
||||
android:layout_marginTop="5dp"
|
||||
android:textSize="16sp"
|
||||
android:drawablePadding="4dp"
|
||||
android:visibility="gone"
|
||||
android:id="@+id/account_moved"
|
||||
android:gravity="center"
|
||||
android:layout_gravity="center"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -120,14 +120,15 @@
|
|||
android:gravity="center"
|
||||
android:orientation="horizontal"
|
||||
android:layout_height="wrap_content"
|
||||
>
|
||||
android:baselineAligned="false">
|
||||
<LinearLayout
|
||||
android:layout_width="0dp"
|
||||
android:layout_weight="1"
|
||||
android:orientation="vertical"
|
||||
android:layout_gravity="center_horizontal"
|
||||
android:gravity="center_horizontal"
|
||||
android:layout_height="wrap_content">
|
||||
android:layout_height="wrap_content"
|
||||
tools:ignore="UselessParent">
|
||||
<TextView
|
||||
android:id="@+id/account_dn"
|
||||
android:textColor="@color/mastodonC4"
|
||||
|
@ -150,7 +151,6 @@
|
|||
android:textSize="14sp"
|
||||
android:layout_height="wrap_content"
|
||||
/>
|
||||
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -183,6 +183,16 @@
|
|||
android:layout_height="wrap_content"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<TextView
|
||||
android:layout_marginTop="5dp"
|
||||
android:textSize="16sp"
|
||||
android:visibility="gone"
|
||||
android:drawablePadding="4dp"
|
||||
android:id="@+id/account_moved"
|
||||
android:gravity="center"
|
||||
android:layout_gravity="center"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content" />
|
||||
</LinearLayout>
|
||||
|
||||
</LinearLayout>
|
||||
|
|
|
@ -465,5 +465,5 @@
|
|||
<string name="action_lists_owner">Your lists</string>
|
||||
|
||||
<!-- Migration -->
|
||||
<string name="account_moved_to">%1$s has moved to: %2$s</string>
|
||||
<string name="account_moved_to">%1$s has moved to %2$s</string>
|
||||
</resources>
|
Loading…
Reference in New Issue