added open fanfou user link
This commit is contained in:
parent
5c5f6ded25
commit
6d0d59ec75
|
@ -1111,12 +1111,9 @@ public class UserFragment extends BaseSupportFragment implements OnClickListener
|
|||
return true;
|
||||
}
|
||||
case R.id.open_in_browser: {
|
||||
if (user.extras != null && user.extras.statusnet_profile_url != null) {
|
||||
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(user.extras.statusnet_profile_url));
|
||||
intent.addCategory(Intent.CATEGORY_BROWSABLE);
|
||||
startActivity(intent);
|
||||
} else {
|
||||
final Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://twitter.com/" + user.screen_name));
|
||||
final Uri uri = LinkCreator.getUserWebLink(user);
|
||||
if (uri != null) {
|
||||
final Intent intent = new Intent(Intent.ACTION_VIEW, uri);
|
||||
intent.addCategory(Intent.CATEGORY_BROWSABLE);
|
||||
startActivity(intent);
|
||||
}
|
||||
|
|
|
@ -26,6 +26,7 @@ import android.text.TextUtils;
|
|||
|
||||
import org.mariotaku.twidere.Constants;
|
||||
import org.mariotaku.twidere.model.ParcelableStatus;
|
||||
import org.mariotaku.twidere.model.ParcelableUser;
|
||||
import org.mariotaku.twidere.model.UserKey;
|
||||
|
||||
/**
|
||||
|
@ -108,4 +109,22 @@ public class LinkCreator implements Constants {
|
|||
builder.appendPath(id);
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
private static Uri getFanfouUserLink(String id) {
|
||||
Uri.Builder builder = new Uri.Builder();
|
||||
builder.scheme(SCHEME_HTTP);
|
||||
builder.authority(AUTHORITY_FANFOU);
|
||||
builder.appendPath(id);
|
||||
return builder.build();
|
||||
}
|
||||
|
||||
public static Uri getUserWebLink(@NonNull ParcelableUser user) {
|
||||
if (user.extras != null && user.extras.statusnet_profile_url != null) {
|
||||
return Uri.parse(user.extras.statusnet_profile_url);
|
||||
}
|
||||
if (USER_TYPE_FANFOU_COM.equals(user.key.getHost())) {
|
||||
return getFanfouUserLink(user.key.getId());
|
||||
}
|
||||
return getTwitterUserLink(user.screen_name);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,10 +17,11 @@
|
|||
~ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<RelativeLayout
|
||||
android:id="@+id/header_user_profile"
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:id="@+id/header_user_profile"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
tools:showIn="@layout/fragment_user">
|
||||
|
@ -28,14 +29,14 @@
|
|||
<org.mariotaku.twidere.view.ProfileBannerSpace
|
||||
android:id="@+id/profile_banner_space"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
android:layout_height="wrap_content"/>
|
||||
|
||||
<View
|
||||
android:id="@+id/profile_name_background"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_alignBottom="@+id/profile_name_container"
|
||||
android:layout_alignTop="@+id/profile_name_container" />
|
||||
android:layout_alignTop="@+id/profile_name_container"/>
|
||||
|
||||
<org.mariotaku.twidere.view.ColorLabelRelativeLayout
|
||||
android:id="@+id/profile_name_container"
|
||||
|
@ -59,14 +60,15 @@
|
|||
android:layout_alignParentEnd="true"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerInParent="true"
|
||||
android:minHeight="@dimen/element_size_normal">
|
||||
android:minHeight="@dimen/element_size_normal"
|
||||
android:minWidth="@dimen/element_size_normal">
|
||||
|
||||
<Button
|
||||
android:id="@+id/follow"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:visibility="gone" />
|
||||
android:visibility="gone"/>
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/follow_progress"
|
||||
|
@ -74,7 +76,7 @@
|
|||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:visibility="gone" />
|
||||
android:visibility="gone"/>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
|
@ -96,7 +98,7 @@
|
|||
android:singleLine="true"
|
||||
android:textAppearance="?android:textAppearanceMedium"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
tools:text="Name" />
|
||||
tools:text="Name"/>
|
||||
|
||||
<org.mariotaku.twidere.view.themed.ThemedTextView
|
||||
android:id="@+id/screen_name"
|
||||
|
@ -106,7 +108,7 @@
|
|||
android:singleLine="true"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
tools:text="\@screenname" />
|
||||
tools:text="\@screenname"/>
|
||||
|
||||
<org.mariotaku.twidere.view.themed.ThemedTextView
|
||||
android:id="@+id/following_you_indicator"
|
||||
|
@ -121,7 +123,7 @@
|
|||
android:text="@string/following_you"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorSecondary"
|
||||
android:visibility="gone" />
|
||||
android:visibility="gone"/>
|
||||
</RelativeLayout>
|
||||
|
||||
</org.mariotaku.twidere.view.ColorLabelRelativeLayout>
|
||||
|
@ -130,7 +132,7 @@
|
|||
android:layout_width="match_parent"
|
||||
android:layout_height="@dimen/element_spacing_xsmall"
|
||||
android:layout_above="@+id/profile_name_container"
|
||||
android:background="@drawable/shadow_top" />
|
||||
android:background="@drawable/shadow_top"/>
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/profile_details_container"
|
||||
|
@ -164,7 +166,7 @@
|
|||
android:textAppearance="?android:attr/textAppearanceSmall"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
android:textStyle="bold"
|
||||
android:visibility="gone" />
|
||||
android:visibility="gone"/>
|
||||
|
||||
<org.mariotaku.twidere.view.TimelineContentTextView
|
||||
android:id="@+id/description"
|
||||
|
@ -174,7 +176,7 @@
|
|||
android:paddingRight="@dimen/element_spacing_small"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
tools:text="Line 1\nLine 2\nLine 3" />
|
||||
tools:text="Line 1\nLine 2\nLine 3"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -191,7 +193,7 @@
|
|||
android:layout_width="@dimen/element_size_small"
|
||||
android:layout_height="@dimen/element_size_small"
|
||||
android:color="?android:textColorPrimary"
|
||||
android:src="@drawable/ic_action_location" />
|
||||
android:src="@drawable/ic_action_location"/>
|
||||
|
||||
<org.mariotaku.twidere.view.themed.ThemedTextView
|
||||
android:id="@+id/location"
|
||||
|
@ -202,7 +204,7 @@
|
|||
android:singleLine="true"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
tools:text="Zhengzhou China" />
|
||||
tools:text="Zhengzhou China"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -219,7 +221,7 @@
|
|||
android:layout_width="@dimen/element_size_small"
|
||||
android:layout_height="@dimen/element_size_small"
|
||||
android:color="?android:textColorPrimary"
|
||||
android:src="@drawable/ic_action_web" />
|
||||
android:src="@drawable/ic_action_web"/>
|
||||
|
||||
<org.mariotaku.twidere.view.TimelineContentTextView
|
||||
android:id="@+id/url"
|
||||
|
@ -231,7 +233,7 @@
|
|||
android:singleLine="true"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
tools:text="mariotaku.org" />
|
||||
tools:text="mariotaku.org"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -248,7 +250,7 @@
|
|||
android:layout_width="@dimen/element_size_small"
|
||||
android:layout_height="@dimen/element_size_small"
|
||||
android:color="?android:textColorPrimary"
|
||||
android:src="@drawable/ic_action_time" />
|
||||
android:src="@drawable/ic_action_time"/>
|
||||
|
||||
<org.mariotaku.twidere.view.themed.ThemedTextView
|
||||
android:id="@+id/created_at"
|
||||
|
@ -259,13 +261,13 @@
|
|||
android:singleLine="true"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
tools:text="July 17, 2009 18:35 (20 tweets per day)" />
|
||||
tools:text="July 17, 2009 18:35 (20 tweets per day)"/>
|
||||
</LinearLayout>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0.2dp"
|
||||
android:background="?android:dividerVertical" />
|
||||
android:background="?android:dividerVertical"/>
|
||||
|
||||
<LinearLayout
|
||||
android:layout_width="match_parent"
|
||||
|
@ -294,7 +296,7 @@
|
|||
android:singleLine="true"
|
||||
android:textAppearance="?android:textAppearanceMedium"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
tools:text="255" />
|
||||
tools:text="255"/>
|
||||
|
||||
<org.mariotaku.twidere.view.themed.ThemedTextView
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -302,7 +304,7 @@
|
|||
android:singleLine="true"
|
||||
android:text="@string/followers"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorSecondary" />
|
||||
android:textColor="?android:textColorSecondary"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -323,7 +325,7 @@
|
|||
android:singleLine="true"
|
||||
android:textAppearance="?android:textAppearanceMedium"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
tools:text="255" />
|
||||
tools:text="255"/>
|
||||
|
||||
<org.mariotaku.twidere.view.themed.ThemedTextView
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -331,7 +333,7 @@
|
|||
android:singleLine="true"
|
||||
android:text="@string/following"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorSecondary" />
|
||||
android:textColor="?android:textColorSecondary"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -352,7 +354,7 @@
|
|||
android:singleLine="true"
|
||||
android:textAppearance="?android:textAppearanceMedium"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
tools:text="255" />
|
||||
tools:text="255"/>
|
||||
|
||||
<org.mariotaku.twidere.view.themed.ThemedTextView
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -360,7 +362,7 @@
|
|||
android:singleLine="true"
|
||||
android:text="@string/listed"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorSecondary" />
|
||||
android:textColor="?android:textColorSecondary"/>
|
||||
</LinearLayout>
|
||||
|
||||
<LinearLayout
|
||||
|
@ -381,7 +383,7 @@
|
|||
android:singleLine="true"
|
||||
android:textAppearance="?android:textAppearanceMedium"
|
||||
android:textColor="?android:textColorPrimary"
|
||||
tools:text="255" />
|
||||
tools:text="255"/>
|
||||
|
||||
<org.mariotaku.twidere.view.themed.ThemedTextView
|
||||
android:layout_width="wrap_content"
|
||||
|
@ -389,12 +391,12 @@
|
|||
android:singleLine="true"
|
||||
android:text="@string/groups"
|
||||
android:textAppearance="?android:textAppearanceSmall"
|
||||
android:textColor="?android:textColorSecondary" />
|
||||
android:textColor="?android:textColorSecondary"/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
|
||||
<include layout="@layout/layout_content_fragment_common" />
|
||||
<include layout="@layout/layout_content_fragment_common"/>
|
||||
|
||||
</FrameLayout>
|
||||
|
||||
|
@ -406,7 +408,7 @@
|
|||
android:layout_alignBottom="@+id/profile_name_container"
|
||||
android:layout_marginLeft="@dimen/element_spacing_normal"
|
||||
android:layout_marginStart="@dimen/element_spacing_normal"
|
||||
android:contentDescription="@string/profile_image" />
|
||||
android:contentDescription="@string/profile_image"/>
|
||||
|
||||
<org.mariotaku.twidere.view.BoundsImageView
|
||||
android:id="@+id/profile_type"
|
||||
|
@ -420,6 +422,6 @@
|
|||
android:layout_marginEnd="@dimen/element_spacing_minus_msmall"
|
||||
android:layout_marginRight="@dimen/element_spacing_minus_msmall"
|
||||
android:scaleType="fitCenter"
|
||||
tools:visibility="gone" />
|
||||
tools:visibility="gone"/>
|
||||
|
||||
</RelativeLayout>
|
Loading…
Reference in New Issue