Update Profile Layout.

Self descriptive.

Also, thanks to @k0shk0sh for fixing my build issues! 😄
This commit is contained in:
Jedi Burrell 2017-05-23 13:15:52 -04:00
parent 2653d2c24f
commit 0b769cf4e2
14 changed files with 307 additions and 417 deletions

View File

@ -15,7 +15,6 @@ before_script:
- (while sleep 3; do echo "y"; done) | $ANDROID_HOME/tools/bin/sdkmanager "build-tools;26.0.0-rc2" "platforms;android-O" --channel=2
script:
- ./gradlew clean assembleFdroidDebug
- ./gradlew clean assembleGmsDebug
after_success:

View File

@ -1,6 +1,6 @@
apply plugin: 'com.android.application'
apply plugin: 'com.google.firebase.firebase-crash'
apply plugin: 'kotlin-android'
apply plugin: 'com.novoda.build-properties'
apply plugin: 'jacoco-android'
@ -56,14 +56,6 @@ android {
flavorDimensions "platform"
productFlavors {
// includes gms
gms {
dimension "platform"
}
}
sourceSets {
main {
res.srcDirs = [
@ -149,16 +141,17 @@ dependencies {
implementation 'net.sourceforge.htmlcleaner:htmlcleaner:2.2'
implementation 'com.github.matthiasrobbers:shortbread:1.0.1'
implementation 'com.atlassian.commonmark:commonmark:0.9.0'
implementation "com.google.firebase:firebase-ads:${gms}"
implementation "com.google.firebase:firebase-messaging:${gms}"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
releaseImplementation "com.google.firebase:firebase-crash:${gms}"
implementation "com.google.android.gms:play-services-auth:${gms}"
compileOnly "org.projectlombok:lombok:${lombokVersion}"
annotationProcessor "io.requery:requery-processor:${requery}"
annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
annotationProcessor "frankiesardo:icepick-processor:${icepickVersion}"
annotationProcessor "com.jakewharton:butterknife-compiler:${butterKnifeVersion}"
annotationProcessor 'com.github.matthiasrobbers:shortbread-compiler:1.0.1'
implementation "com.google.firebase:firebase-ads:${gms}"
implementation "com.google.firebase:firebase-messaging:${gms}"
releaseImplementation "com.google.firebase:firebase-crash:${gms}"
implementation "com.google.android.gms:play-services-auth:${gms}"
testImplementation "net.grandcentrix.thirtyinch:thirtyinch-test:$thirtyinchVersion"
testImplementation "junit:junit:${junitVersion}"
testImplementation "org.mockito:mockito-core:${mockitoVersion}"
@ -169,8 +162,6 @@ dependencies {
androidTestImplementation 'com.android.support.test:rules:0.5'
androidTestImplementation "com.android.support.test.espresso:espresso-intents:${espresseVersion}"
androidTestImplementation "com.android.support.test.espresso:espresso-core:${espresseVersion}"
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
}
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.google.firebase.firebase-crash'
apply plugin: 'com.google.gms.google-services'

View File

@ -1,64 +0,0 @@
{
"project_info": {
"project_id": "this-is-a-sample",
"project_number": "999999999999",
"name": "FastHub Sample",
"firebase_url": "https://this-is-a-sample-do-not-use.firebaseio.com",
"storage_bucket": "this-is-a-sample-do-not-use.storage.firebase.com"
},
"client": [
{
"client_info": {
"mobilesdk_app_id": "1:999999999999:android:0000000000000000",
"android_client_info": {
"package_name": "com.fastaccess.github"
}
},
"oauth_client": [
{
"client_id": "this-is-a-sample-do-not-use.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.fastaccess.github",
"certificate_hash": "0000000000000000000000000000000000000000"
}
},
{
"client_id": "this-is-a-sample-do-not-use.apps.googleusercontent.com",
"client_type": 1,
"android_info": {
"package_name": "com.fastaccess.github",
"certificate_hash": "0000000000000000000000000000000000000000"
}
},
{
"client_id": "this-is-a-sample-do-not-use.apps.googleusercontent.com",
"client_type": 3
}
],
"api_key": [
{
"current_key": "000000000000000000000000000000000000000"
}
],
"services": {
"analytics_service": {
"status": 1
},
"appinvite_service": {
"status": 2,
"other_platform_oauth_client": [
{
"client_id": "this-is-a-sample-do-not-use.apps.googleusercontent.com",
"client_type": 3
}
]
},
"ads_service": {
"status": 2
}
}
}
],
"configuration_version": "1"
}

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.fastaccess"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission
android:name="com.android.vending.BILLING"
tools:node="remove"/>
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
tools:node="remove"/>
<application android:name="com.fastaccess.App">
<activity
android:name="io.octo.bear.pago.BillingActivity"
tools:node="remove"/>
<service
android:name=".provider.fcm.PushNotificationService"
tools:node="remove"/>
</application>
</manifest>

View File

@ -1,25 +0,0 @@
package com.fastaccess.ui.base;
import android.support.annotation.Nullable;
import android.widget.TextView;
import com.fastaccess.R;
import net.grandcentrix.thirtyinch.TiActivity;
import net.grandcentrix.thirtyinch.TiPresenter;
import net.grandcentrix.thirtyinch.TiView;
import butterknife.BindView;
/**
* Created by thermatk on 12.04.17.
*/
public abstract class AdActivity<V extends TiView,P extends TiPresenter<V>> extends TiActivity<P, V> {
@Nullable @BindView(R.id.adView) TextView adView;
protected void showHideAds() {
}
}

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="donation_product_1" translatable="false">your_product_1</string>
<string name="donation_product_2" translatable="false">your_product_2</string>
<string name="donation_product_3" translatable="false">your_product_3</string>
<string name="donation_product_4" translatable="false">your_product_4</string>
</resources>

View File

@ -1,63 +0,0 @@
package com.fastaccess.ui.base;
import android.support.annotation.Nullable;
import android.view.View;
import com.fastaccess.R;
import com.fastaccess.helper.PrefGetter;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.MobileAds;
import net.grandcentrix.thirtyinch.TiActivity;
import net.grandcentrix.thirtyinch.TiPresenter;
import net.grandcentrix.thirtyinch.TiView;
import butterknife.BindView;
/**
* Created by thermatk on 12.04.17.
*/
public abstract class AdActivity<V extends TiView, P extends TiPresenter<V>> extends TiActivity<P, V> {
@Nullable @BindView(R.id.adView) AdView adView;
@Override protected void onResume() {
super.onResume();
if (adView != null && adView.isShown()) {
adView.resume();
}
}
@Override protected void onPause() {
if (adView != null && adView.isShown()) {
adView.pause();
}
super.onPause();
}
@Override protected void onDestroy() {
if (adView != null && adView.isShown()) {
adView.destroy();
}
super.onDestroy();
}
protected void showHideAds() {
if (adView != null) {
boolean isAdsEnabled = PrefGetter.isAdsEnabled();
if (isAdsEnabled) {
adView.setVisibility(View.VISIBLE);
MobileAds.initialize(this, getString(R.string.banner_ad_unit_id));
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(getString(R.string.test_device_id))
.build();
adView.loadAd(adRequest);
} else {
adView.destroy();
adView.setVisibility(View.GONE);
}
}
}
}

View File

@ -1,13 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<com.google.android.gms.ads.AdView
android:id="@+id/adView"
xmlns:ads="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?colorPrimary"
android:visibility="gone"
ads:adSize="BANNER"
ads:adUnitId="@string/banner_ad_unit_id"
tools:visibility="visible"/>

View File

@ -52,6 +52,8 @@ import com.fastaccess.ui.widgets.dialog.MessageDialogView;
import com.fastaccess.ui.widgets.dialog.ProgressDialogFragment;
import com.nostra13.universalimageloader.core.ImageLoader;
import net.grandcentrix.thirtyinch.TiActivity;
import java.util.ArrayList;
import butterknife.BindView;
@ -64,7 +66,7 @@ import icepick.State;
* Created by Kosh on 24 May 2016, 8:48 PM
*/
public abstract class BaseActivity<V extends BaseMvp.FAView, P extends BasePresenter<V>> extends AdActivity<V, P> implements
public abstract class BaseActivity<V extends BaseMvp.FAView, P extends BasePresenter<V>> extends TiActivity<P, V> implements
BaseMvp.FAView, NavigationView.OnNavigationItemSelectedListener {
@State boolean isProgressShowing;
@ -112,7 +114,7 @@ public abstract class BaseActivity<V extends BaseMvp.FAView, P extends BasePrese
getPresenter().onRestoreInstanceState(savedInstanceState);
}
setupToolbarAndStatusBar(toolbar);
showHideAds();
//showHideAds();
if (savedInstanceState == null && PrefGetter.showWhatsNew()) {
new ChangelogBottomSheetDialog().show(getSupportFragmentManager(), "ChangelogBottomSheetDialog");
}

View File

@ -138,7 +138,7 @@ refresh.setRefreshing(true);
@Override public void onShowGuide(@NonNull View itemView, @NonNull Event model) {
if (!PrefGetter.isUserIconGuideShowed()) {
final boolean[] dismissed = {false};
new MaterialTapTargetPrompt.Builder(getActivity())
/*new MaterialTapTargetPrompt.Builder(getActivity())
.setTarget(itemView.findViewById(R.id.avatarLayout))
.setPrimaryText(R.string.users)
.setSecondaryText(R.string.avatar_click_hint)
@ -172,7 +172,7 @@ refresh.setRefreshing(true);
}
})
.setCaptureTouchEventOutsidePrompt(true)
.show();
.show();*/
ActivityHelper.showDismissHints(getContext(), () -> dismissed[0] = true);
}
}

View File

@ -8,6 +8,7 @@ import android.support.annotation.StringRes;
import android.support.v4.widget.NestedScrollView;
import android.support.v7.widget.CardView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import com.fastaccess.R;
@ -35,12 +36,18 @@ import butterknife.BindView;
import butterknife.OnClick;
import icepick.State;
import static android.view.View.GONE;
/**
* Created by Kosh on 03 Dec 2016, 9:16 AM
*/
public class ProfileOverviewFragment extends BaseFragment<ProfileOverviewMvp.View, ProfileOverviewPresenter> implements ProfileOverviewMvp.View {
@BindView(R.id.contributionsCaption)
FontTextView contributionsCaption;
@BindView(R.id.organizationsCaption)
FontTextView organizationsCaption;
@BindView(R.id.username) FontTextView username;
@BindView(R.id.description) FontTextView description;
@BindView(R.id.avatarLayout) AvatarLayout avatarLayout;
@ -109,7 +116,7 @@ public class ProfileOverviewFragment extends BaseFragment<ProfileOverviewMvp.Vie
}
}
if (isMeOrOrganization()) {
followBtn.setVisibility(View.GONE);
followBtn.setVisibility(GONE);
}
}
@ -118,18 +125,46 @@ public class ProfileOverviewFragment extends BaseFragment<ProfileOverviewMvp.Vie
}
@Override public void onInitViews(@Nullable User userModel) {
progress.setVisibility(View.GONE);
progress.setVisibility(GONE);
if (userModel == null) return;
this.userModel = userModel;
followBtn.setVisibility(!isMeOrOrganization() ? View.VISIBLE : View.GONE);
followBtn.setVisibility(!isMeOrOrganization() ? View.VISIBLE : GONE);
username.setText(userModel.getLogin());
description.setText(userModel.getBio());
if(userModel.getBio()==null)
description.setVisibility(GONE);
avatarLayout.setUrl(userModel.getAvatarUrl(), null);
organization.setText(InputHelper.toNA(userModel.getCompany()));
location.setText(InputHelper.toNA(userModel.getLocation()));
email.setText(InputHelper.toNA(userModel.getEmail()));
link.setText(InputHelper.toNA(userModel.getBlog()));
joined.setText(userModel.getCreatedAt() != null ? ParseDateFormat.getTimeAgo(userModel.getCreatedAt()) : "N/A");
ViewGroup parent = (ViewGroup) organization.getParent();
if(organization.getText().equals("N/A")) {
int i = parent.indexOfChild(organization);
((ViewGroup)organization.getParent()).removeViewAt(i+1);
organization.setVisibility(GONE);
}
if(location.getText().equals("N/A")) {
int i = parent.indexOfChild(location);
((ViewGroup)location.getParent()).removeViewAt(i+1);
location.setVisibility(GONE);
}
if(email.getText().equals("N/A")) {
int i = parent.indexOfChild(email);
((ViewGroup)email.getParent()).removeViewAt(i+1);
email.setVisibility(GONE);
}
if(link.getText().equals("N/A")) {
int i = parent.indexOfChild(link);
((ViewGroup)link.getParent()).removeViewAt(i+1);
link.setVisibility(GONE);
}
if(joined.getText().equals("N/A")) {
int i = parent.indexOfChild(joined);
((ViewGroup)joined.getParent()).removeViewAt(i+1);
joined.setVisibility(GONE);
}
followers.setText(SpannableBuilder.builder()
.append(getString(R.string.followers))
.append("\n")
@ -155,8 +190,10 @@ public class ProfileOverviewFragment extends BaseFragment<ProfileOverviewMvp.Vie
Logger.e(items);
contributionView.onResponse(items);
contributionCard.setVisibility(View.VISIBLE);
contributionsCaption.setVisibility(View.VISIBLE);
} else {
contributionCard.setVisibility(View.GONE);
contributionCard.setVisibility(GONE);
contributionsCaption.setVisibility(GONE);
}
}
@ -167,10 +204,12 @@ public class ProfileOverviewFragment extends BaseFragment<ProfileOverviewMvp.Vie
adapter.addItems(orgs);
orgsList.setAdapter(adapter);
orgsCard.setVisibility(View.VISIBLE);
organizationsCaption.setVisibility(View.VISIBLE);
((GridManager) orgsList.getLayoutManager()).setIconSize(getResources().getDimensionPixelSize(R.dimen.header_icon_zie) +
getResources().getDimensionPixelSize(R.dimen.spacing_xs_large));
} else {
orgsCard.setVisibility(View.GONE);
organizationsCaption.setVisibility(GONE);
orgsCard.setVisibility(GONE);
}
}
@ -179,7 +218,7 @@ public class ProfileOverviewFragment extends BaseFragment<ProfileOverviewMvp.Vie
}
@Override public void hideProgress() {
progress.setVisibility(View.GONE);
progress.setVisibility(GONE);
}
@Override public void showErrorMessage(@NonNull String message) {

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<TextView
<View
android:id="@+id/adView"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
@ -7,4 +7,4 @@
android:layout_height="wrap_content"
android:background="?colorPrimary"
android:visibility="gone"
tools:visibility="visible"/>
tools:visibility="visible"/>

View File

@ -1,262 +1,315 @@
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView
android:id="@+id/parentView"
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:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
android:paddingBottom="@dimen/spacing_xs_large"
android:paddingEnd="@dimen/layout_margin"
android:paddingStart="@dimen/layout_margin"
android:paddingTop="@dimen/spacing_normal">
android:clipToPadding="false">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top|center">
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">
<FrameLayout
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/spacing_xs_large">
app:cardBackgroundColor="?card_background"
app:cardUseCompatPadding="false"
app:cardCornerRadius="0dp"
app:contentPaddingBottom="@dimen/spacing_normal"
app:contentPaddingLeft="@dimen/spacing_xs_large"
app:contentPaddingRight="@dimen/spacing_xs_large"
app:contentPaddingTop="@dimen/spacing_xs_large">
<LinearLayout
<FrameLayout
android:padding="@dimen/spacing_xs_large"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.CardView
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="36dp"
app:cardBackgroundColor="?card_background"
app:cardUseCompatPadding="true"
app:contentPaddingBottom="@dimen/spacing_normal"
app:contentPaddingLeft="@dimen/spacing_xs_large"
app:contentPaddingRight="@dimen/spacing_xs_large"
app:contentPaddingTop="@dimen/spacing_normal">
android:layout_marginTop="@dimen/spacing_xs_large"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_xs_large"
android:orientation="vertical">
android:orientation="horizontal"
android:paddingBottom="@dimen/spacing_xs_large"
android:gravity="center_vertical">
<com.fastaccess.ui.widgets.AvatarLayout
android:id="@+id/avatarLayout"
android:layout_width="@dimen/keyline_1"
android:layout_height="@dimen/keyline_1"
android:transitionName="@string/icon_transition"/>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/username"
style="@style/Base.TextAppearance.AppCompat.Title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/spacing_xs_large"
android:layout_marginBottom="@dimen/spacing_normal"
android:layout_marginTop="@dimen/spacing_normal"
android:gravity="center"
android:textStyle="bold"
android:transitionName="@string/title_transition"
tools:text="Cum classis nocere"/>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/description"
style="@style/Base.TextAppearance.AppCompat.Small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autoLink="all"
tools:text="Whats the secret to large and cold peanut butter? Always use quartered szechuan pepper."/>
</LinearLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="90dp"
android:layout_gravity="top|center">
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/following"
style="@style/Base.TextAppearance.AppCompat.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start|bottom|center"
android:layout_marginEnd="@dimen/spacing_xs_large"
android:layout_marginStart="@dimen/spacing_xs_large"
android:layout_marginTop="@dimen/spacing_micro"
android:background="?selectableItemBackgroundBorderless"
android:gravity="center"
tools:text="Following\n40"/>
<com.fastaccess.ui.widgets.AvatarLayout
android:id="@+id/avatarLayout"
android:layout_width="@dimen/keyline_1"
android:layout_height="@dimen/keyline_1"
android:layout_gravity="top|center"
android:transitionName="@string/icon_transition"/>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/followers"
style="@style/Base.TextAppearance.AppCompat.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end|bottom|center"
android:layout_marginEnd="@dimen/spacing_xs_large"
android:layout_marginStart="@dimen/spacing_xs_large"
android:layout_marginTop="@dimen/spacing_micro"
android:background="?selectableItemBackgroundBorderless"
android:gravity="center"
tools:text="Followers\n140"/>
</FrameLayout>
</FrameLayout>
<com.fastaccess.ui.widgets.FontButton
android:id="@+id/followBtn"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/spacing_xs_large"
android:drawablePadding="@dimen/spacing_normal"
android:drawableStart="@drawable/asl_follow"
android:paddingBottom="@dimen/spacing_normal"
android:paddingEnd="@dimen/spacing_xs_large"
android:paddingStart="@dimen/spacing_xs_large"
android:paddingTop="@dimen/spacing_normal"
android:text="@string/follow"
android:textColor="@color/white"
android:visibility="gone"
tools:visibility="visible"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/spacing_xs_large"
app:cardBackgroundColor="?card_background"
app:cardUseCompatPadding="true"
app:contentPaddingBottom="@dimen/spacing_normal"
app:contentPaddingLeft="@dimen/spacing_xs_large"
app:contentPaddingRight="@dimen/spacing_xs_large"
app:contentPaddingTop="@dimen/spacing_normal">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/organization"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:id="@+id/description"
style="@style/Base.TextAppearance.AppCompat.Small"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/spacing_normal"
android:drawablePadding="@dimen/spacing_xs_large"
android:drawableStart="@drawable/ic_group"
tools:text="Cum classis nocere"/>
android:paddingTop="@dimen/spacing_xs_large"
android:paddingBottom="@dimen/spacing_xs_large"
android:autoLink="all"
tools:text="Whats the secret to large and cold peanut butter? Always use quartered szechuan pepper."/>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/location"
style="@style/Base.TextAppearance.AppCompat.Subhead"
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/spacing_normal"
android:autoLink="map"
android:drawablePadding="@dimen/spacing_xs_large"
android:drawableStart="@drawable/ic_location"
android:layout_height="wrap_content">
tools:text="Cum classis nocere"/>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/following"
style="@style/Base.TextAppearance.AppCompat.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_marginEnd="@dimen/spacing_xs_large"
android:layout_marginStart="@dimen/spacing_xs_large"
android:layout_marginTop="@dimen/spacing_micro"
android:background="?selectableItemBackgroundBorderless"
android:gravity="center"
tools:text="Following\n40"/>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/email"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/spacing_normal"
android:autoLink="email"
android:drawablePadding="@dimen/spacing_xs_large"
android:drawableStart="@drawable/ic_email"
tools:text="Cum classis nocere"/>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/followers"
style="@style/Base.TextAppearance.AppCompat.Medium"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_marginEnd="@dimen/spacing_xs_large"
android:layout_marginStart="@dimen/spacing_xs_large"
android:layout_marginTop="@dimen/spacing_micro"
android:background="?selectableItemBackgroundBorderless"
android:gravity="center"
tools:text="Followers\n140"/>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/link"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/spacing_normal"
android:autoLink="web"
android:drawablePadding="@dimen/spacing_xs_large"
android:drawableStart="@drawable/ic_insert_link"
tools:text="Cum classis nocere"/>
</RelativeLayout>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/joined"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="match_parent"
<com.fastaccess.ui.widgets.FontButton
android:id="@+id/followBtn"
style="@style/Widget.AppCompat.Button.Colored"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawablePadding="@dimen/spacing_xs_large"
android:drawableStart="@drawable/ic_time"
tools:text="Cum classis nocere"/>
android:layout_marginBottom="@dimen/spacing_xs_large"
android:drawablePadding="@dimen/spacing_normal"
android:drawableStart="@drawable/asl_follow"
android:paddingBottom="@dimen/spacing_normal"
android:paddingEnd="@dimen/spacing_xs_large"
android:paddingStart="@dimen/spacing_xs_large"
android:paddingTop="@dimen/spacing_normal"
android:layout_gravity="center"
android:text="@string/follow"
android:textColor="@color/white"
android:visibility="gone"
tools:visibility="visible"/>
</LinearLayout>
</android.support.v7.widget.CardView>
</FrameLayout>
<android.support.v7.widget.CardView
android:id="@+id/orgsCard"
</android.support.v7.widget.CardView>
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/spacing_xs_large"
app:cardBackgroundColor="?card_background"
app:cardUseCompatPadding="false"
app:cardCornerRadius="0dp"
app:contentPaddingBottom="@dimen/spacing_normal"
app:contentPaddingLeft="@dimen/spacing_xs_large"
app:contentPaddingRight="@dimen/spacing_xs_large"
app:contentPaddingTop="@dimen/spacing_normal">
<LinearLayout
android:id="@+id/section_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:cardBackgroundColor="?card_background"
app:cardUseCompatPadding="true"
app:contentPaddingBottom="@dimen/spacing_normal"
app:contentPaddingLeft="@dimen/spacing_xs_large"
app:contentPaddingRight="@dimen/spacing_xs_large"
app:contentPaddingTop="@dimen/spacing_normal"
tools:visibility="visible">
android:orientation="vertical">
<com.fastaccess.ui.widgets.recyclerview.DynamicRecyclerView
android:id="@+id/orgsList"
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/organization"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layoutManager="@string/grid_layout_manager"
app:spanCount="3"
tools:listitem="@layout/profile_org_row_item"/>
android:layout_marginTop="@dimen/spacing_xs_large"
android:layout_marginBottom="@dimen/spacing_xs_large"
android:drawablePadding="@dimen/spacing_xs_large"
android:drawableStart="@drawable/ic_group"
tools:text="Cum classis nocere"/>
</android.support.v7.widget.CardView>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?dividerColor"/>
<android.support.v7.widget.CardView
android:id="@+id/contributionCard"
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/location"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_xs_large"
android:layout_marginBottom="@dimen/spacing_xs_large"
android:autoLink="map"
android:drawablePadding="@dimen/spacing_xs_large"
android:drawableStart="@drawable/ic_location"
tools:text="Cum classis nocere"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?dividerColor"/>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/email"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_xs_large"
android:layout_marginBottom="@dimen/spacing_xs_large"
android:autoLink="email"
android:drawablePadding="@dimen/spacing_xs_large"
android:drawableStart="@drawable/ic_email"
tools:text="Cum classis nocere"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?dividerColor"/>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/link"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_xs_large"
android:layout_marginBottom="@dimen/spacing_xs_large"
android:autoLink="web"
android:drawablePadding="@dimen/spacing_xs_large"
android:drawableStart="@drawable/ic_insert_link"
tools:text="Cum classis nocere"/>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?dividerColor"/>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/joined"
style="@style/Base.TextAppearance.AppCompat.Subhead"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/spacing_xs_large"
android:layout_marginBottom="@dimen/spacing_xs_large"
android:drawablePadding="@dimen/spacing_xs_large"
android:drawableStart="@drawable/ic_time"
tools:text="Cum classis nocere"/>
</LinearLayout>
</android.support.v7.widget.CardView>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/organizationsCaption"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/spacing_normal"
android:paddingLeft="@dimen/spacing_xs_large"
android:paddingRight="@dimen/spacing_xs_large"
android:paddingTop="@dimen/spacing_normal"
android:text="@string/organizations"
android:visibility="gone"
android:textAppearance="@style/TextAppearance.AppCompat.Caption"/>
<android.support.v7.widget.CardView
android:id="@+id/orgsCard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:cardBackgroundColor="?card_background"
app:cardUseCompatPadding="false"
app:cardCornerRadius="0dp"
app:contentPaddingBottom="@dimen/spacing_normal"
app:contentPaddingLeft="@dimen/spacing_xs_large"
app:contentPaddingRight="@dimen/spacing_xs_large"
app:contentPaddingTop="@dimen/spacing_normal"
tools:visibility="visible">
<com.fastaccess.ui.widgets.recyclerview.DynamicRecyclerView
android:id="@+id/orgsList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:cardBackgroundColor="?card_background"
app:cardUseCompatPadding="true"
app:contentPaddingBottom="@dimen/spacing_normal"
app:contentPaddingLeft="@dimen/spacing_xs_large"
app:contentPaddingRight="@dimen/spacing_xs_large"
app:contentPaddingTop="@dimen/spacing_normal"
tools:visibility="visible">
android:orientation="vertical"
app:layoutManager="@string/grid_layout_manager"
app:spanCount="3"
tools:listitem="@layout/profile_org_row_item"/>
<com.fastaccess.ui.widgets.contributions.GitHubContributionsView
android:id="@+id/contributionView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="400dp"
app:displayMonth="true"
app:baseColor="?colorAccent"
app:baseEmptyColor="@color/material_grey_400"
app:lastWeeks="53"
app:textColor="?android:textColorPrimary"/>
</android.support.v7.widget.CardView>
</android.support.v7.widget.CardView>
</LinearLayout>
<com.fastaccess.ui.widgets.FontTextView
android:id="@+id/contributionsCaption"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/spacing_normal"
android:paddingLeft="@dimen/spacing_xs_large"
android:paddingRight="@dimen/spacing_xs_large"
android:paddingTop="@dimen/spacing_normal"
android:visibility="gone"
android:text="@string/contributions"
android:textAppearance="@style/TextAppearance.AppCompat.Caption"/>
<android.support.v7.widget.CardView
android:id="@+id/contributionCard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"
app:cardCornerRadius="0dp"
app:cardBackgroundColor="?card_background"
app:cardUseCompatPadding="false"
app:contentPaddingBottom="@dimen/spacing_normal"
app:contentPaddingLeft="@dimen/spacing_xs_large"
app:contentPaddingRight="@dimen/spacing_xs_large"
app:contentPaddingTop="@dimen/spacing_normal"
tools:visibility="visible">
<com.fastaccess.ui.widgets.contributions.GitHubContributionsView
android:id="@+id/contributionView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="400dp"
app:displayMonth="true"
app:baseColor="?colorAccent"
app:baseEmptyColor="@color/material_grey_400"
app:lastWeeks="53"
app:textColor="?android:textColorPrimary"/>
</android.support.v7.widget.CardView>
</LinearLayout>
@ -274,4 +327,6 @@
</LinearLayout>
</FrameLayout>
</android.support.v4.widget.NestedScrollView>