Merge branch 'develop' into improve-task-tap-areas

This commit is contained in:
Phillip Thelen 2021-01-28 13:22:54 +01:00 committed by GitHub
commit 5819d53d40
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
243 changed files with 2078 additions and 1218 deletions

View file

@ -116,10 +116,6 @@
android:name=".ui.activities.GiftGemsActivity"
android:label="@string/gift_gems">
</activity>
<activity
android:name=".ui.activities.GiftOneGetOneInfoActivity"
android:label="@string/gift_one_get_one">
</activity>
<activity
android:name=".ui.activities.GuidelinesActivity"
android:label="@string/community_guidelines">

View file

@ -51,11 +51,11 @@ dependencies {
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.retrofit2:adapter-rxjava3:2.9.0'
//Crash Logging
implementation 'com.google.firebase:firebase-crashlytics:17.2.2'
implementation 'com.google.firebase:firebase-crashlytics:17.3.0'
//Dependency Injection
implementation 'com.google.dagger:dagger:2.29.1'
kapt 'com.google.dagger:dagger-compiler:2.29.1'
implementation 'com.google.dagger:dagger:2.31.2'
kapt 'com.google.dagger:dagger-compiler:2.31.2'
compileOnly 'javax.annotation:javax.annotation-api:1.3.2'
compileOnly 'com.github.pengrad:jdk9-deps:1.0'
//App Compatibility and Material Design
@ -64,34 +64,34 @@ dependencies {
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'androidx.legacy:legacy-preference-v14:1.0.0'
// Markdown
implementation "io.noties.markwon:core:4.6.0"
implementation "io.noties.markwon:ext-strikethrough:4.6.0"
implementation "io.noties.markwon:image:4.6.0"
implementation "io.noties.markwon:recycler:4.6.0"
implementation "io.noties.markwon:html:4.6.0"
implementation "io.noties.markwon:core:4.6.1"
implementation "io.noties.markwon:ext-strikethrough:4.6.1"
implementation "io.noties.markwon:image:4.6.1"
implementation "io.noties.markwon:recycler:4.6.1"
implementation "io.noties.markwon:html:4.6.1"
//Eventbus
implementation 'org.greenrobot:eventbus:3.2.0'
// IAP Handling / Verification
implementation 'org.solovyev.android:checkout:1.2.2'
//Facebook
implementation('com.facebook.android:facebook-android-sdk:7.1.0') {
implementation('com.facebook.android:facebook-android-sdk:8.1.0') {
transitive = true
}
implementation 'fr.avianey.com.viewpagerindicator:library:2.4.1@aar'
//RxJava
implementation 'io.reactivex.rxjava3:rxandroid:3.0.0'
implementation 'io.reactivex.rxjava3:rxjava:3.0.6'
implementation 'io.reactivex.rxjava3:rxjava:3.0.9'
implementation 'io.reactivex.rxjava3:rxkotlin:3.0.1'
implementation 'io.reactivex.rxjava2:rxjava:2.2.19'
implementation "com.github.akarnokd:rxjava3-bridge:3.0.0"
//Analytics
implementation 'com.amplitude:android-sdk:2.25.2'
implementation 'com.amplitude:android-sdk:2.30.0'
// Fresco Image Management Library
implementation('com.facebook.fresco:fresco:2.3.0') {
implementation('com.facebook.fresco:fresco:2.4.0') {
exclude module: 'bolts-android'
}
implementation('com.facebook.fresco:animated-gif:2.3.0') {
implementation('com.facebook.fresco:animated-gif:2.4.0') {
exclude module: 'bolts-android'
}
//Tests
@ -110,25 +110,25 @@ dependencies {
//Leak Detection
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.5'
//Push Notifications
implementation 'com.google.firebase:firebase-core:18.0.0'
implementation 'com.google.firebase:firebase-messaging:21.0.0'
implementation 'com.google.firebase:firebase-config:20.0.0'
implementation 'com.google.firebase:firebase-perf:19.0.9'
implementation 'com.google.android.gms:play-services-auth:18.1.0'
implementation 'com.google.firebase:firebase-core:18.0.1'
implementation 'com.google.firebase:firebase-messaging:21.0.1'
implementation 'com.google.firebase:firebase-config:20.0.2'
implementation 'com.google.firebase:firebase-perf:19.1.0'
implementation 'com.google.android.gms:play-services-auth:19.0.0'
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.nex3z:flow-layout:1.2.2'
implementation 'androidx.core:core-ktx:1.3.2'
implementation "androidx.lifecycle:lifecycle-extensions:2.2.0"
implementation "androidx.lifecycle:lifecycle-common-java8:2.2.0"
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.1'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.1'
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.2'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.2'
implementation "androidx.paging:paging-runtime-ktx:2.1.2"
implementation 'com.plattysoft.leonids:LeonidsLib:1.3.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.7'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.3'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.2'
implementation 'com.willowtreeapps:signinwithapplebutton:0.2'
implementation 'com.willowtreeapps:signinwithapplebutton:0.3'
implementation project(':shared')
}
@ -150,8 +150,8 @@ android {
buildConfigField "String", "TESTING_LEVEL", "\"production\""
resConfigs "en", "bg", "de", "en-rGB", "es", "fr", "hr-rHR", "in", "it", "iw", "ja", "ko", "lt", "nl", "pl", "pt-rBR", "pt-rPT", "ru", "tr", "zh", "zh-rTW"
versionCode 2629
versionName "3.1"
versionCode 2694
versionName "3.2"
}
buildFeatures {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 450 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 951 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 946 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 364 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 543 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 783 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 850 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 919 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:startColor="#925CF3"
android:endColor="#3BCAD7"
android:angle="135"/>
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
</shape>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:startColor="#925CF3"
android:endColor="#3BCAD7"
android:angle="135"/>
<corners android:radius="8dp"/>
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
</shape>

View file

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient android:startColor="#925CF3"
android:endColor="#3BCAD7"
android:angle="135"/>
<corners android:radius="10dp"/>
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
</shape>

View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/brand_400" />
<corners android:radius="@dimen/bar_radius"/>
<padding android:left="0dip" android:top="0dip" android:right="0dip" android:bottom="0dip" />
</shape>

View file

@ -4,8 +4,8 @@
<gradient
android:angle="90"
android:centerColor="@color/transparent_white"
android:endColor="@color/white"
android:startColor="@color/white"
android:endColor="@color/content_background"
android:startColor="@color/content_background"
android:type="linear"
android:centerX="0.6"/>

View file

@ -2,6 +2,6 @@
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/brand_400" />
<solid android:color="@color/brand_300" />
<corners android:radius="5dp" />
</shape>

View file

@ -7,15 +7,14 @@
android:gravity="center_vertical"
android:paddingTop="13dp"
android:paddingBottom="13dp">
<TextView
<ImageView
android:id="@+id/achievement_count_label"
android:layout_width="40dp"
android:layout_height="40dp"
android:gravity="center"
android:textColor="@color/text_ternary"
style="@style/Body1"
android:background="@drawable/circle_offset"
tools:text="12"
android:src="@drawable/won_challenge_icon"
android:layout_marginStart="35dp"
android:layout_marginEnd="25dp"/>
<TextView

View file

@ -17,7 +17,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:theme="@style/Toolbar"
android:theme="@style/Toolbar.Modern"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"/>
@ -38,7 +38,6 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?colorPrimaryOffset"
android:orientation="vertical"
android:paddingStart="@dimen/activity_horizontal_margin"
android:paddingEnd="@dimen/activity_horizontal_margin"
@ -48,7 +47,6 @@
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="?textColorPrimaryDark"
app:hintTextAppearance="@style/TextAppearance.AppCompat"
android:id="@+id/create_challenge_title_input_layout">
@ -58,9 +56,6 @@
android:layout_gravity="fill_horizontal"
android:hint="@string/new_challenge_title"
android:id="@+id/create_challenge_title"
android:textColor="@color/white"
android:textColorHighlight="?textColorPrimaryDark"
android:textColorHint="?textColorPrimaryDark"
tools:text="Get in shape"
android:inputType="text" />
@ -69,22 +64,18 @@
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColorHint="?textColorPrimaryDark"
app:hintTextAppearance="@style/TextAppearance.AppCompat">
app:hintTextAppearance="@style/TextAppearance.AppCompat"
android:layout_marginBottom="12dp"
android:layout_marginTop="12dp">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="@string/description_optional"
android:inputType="textMultiLine"
android:id="@+id/create_challenge_description"
android:maxLines="5"
android:minLines="3"
android:textColor="@color/white"
android:textColorHighlight="?textColorPrimaryDark"
android:textColorHint="?textColorPrimaryDark" />
android:minLines="3" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
@ -107,7 +98,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="23dp"
android:text="@string/gem_reward"
android:textColor="#cc000000" />
android:textColor="@color/text_primary" />
<TextView
style="@style/Caption3"
@ -116,7 +107,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="23dp"
android:text="@string/gem_reward"
android:textColor="#f74e52"
android:textColor="@color/text_red"
android:visibility="gone"
tools:visibility="visible"/>
@ -125,13 +116,14 @@
android:layout_height="wrap_content"
android:layout_marginTop="28dp">
<Button
<ImageButton
android:id="@+id/challenge_add_gem_btn"
style="@style/Body1_Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:drawableStart="@drawable/challenge_gem_add_button"/>
android:tint="@color/text_brand_neon"
android:src="@drawable/challenge_gem_add_button"/>
<ImageView
android:id="@+id/gem_icon_view"
@ -146,18 +138,19 @@
android:layout_weight="1"
android:gravity="center"
android:inputType="number"
android:textColor="#8a000000"
android:textColor="@color/text_secondary"
android:text="0"
android:id="@+id/create_challenge_prize"
android:textAlignment="center" />
<Button
<ImageButton
android:id="@+id/challenge_remove_gem_btn"
style="@style/Body1_Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="2"
android:drawableEnd="@drawable/challenge_gem_remove_button"/>
android:tint="@color/text_brand_neon"
android:src="@drawable/challenge_gem_remove_button"/>
</LinearLayout>
@ -167,14 +160,14 @@
android:layout_height="wrap_content"
android:layout_marginTop="26dp"
android:text="@string/location"
android:textColor="#cc000000" />
android:textColor="@color/text_primary" />
<Spinner
android:id="@+id/challenge_location_spinner"
style="@android:style/Widget.Material.Spinner.Underlined"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#8a000000"
android:textColor="@color/text_secondary"
android:layout_marginTop="17dp" />
<TextView
@ -183,15 +176,14 @@
android:layout_height="20dp"
android:layout_marginTop="39dp"
android:drawablePadding="12dp"
android:drawableEnd="@drawable/ic_info_outline_black_24dp"
android:gravity="center"
android:text="@string/short_name"
android:textColor="#cc000000" />
android:textColor="@color/text_primary" />
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:id="@+id/create_challenge_tag_input_layout"
app:hintTextAppearance="@style/TextAppearance.AppCompat">
@ -203,7 +195,7 @@
android:hint="@string/identify_your_challenge_with_a_tag"
android:maxLines="1"
android:textColor="@color/text_secondary"
android:textColorHint="#61000000" />
android:textColorHint="@color/text_ternary" />
</com.google.android.material.textfield.TextInputLayout>
</LinearLayout>
@ -211,6 +203,7 @@
style="@style/Subheader2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:text="@string/tasks" />
<TextView
@ -219,20 +212,17 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="23dp"
android:textColor="#f74e52"
android:textColor="@color/text_red"
android:text="@string/challenge_create_error_no_tasks"
android:visibility="gone"
tools:visibility="visible"/>
</LinearLayout>
<androidx.recyclerview.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:nestedScrollingEnabled="false"
android:background="@color/content_background"
android:id="@+id/create_challenge_task_list">
</androidx.recyclerview.widget.RecyclerView>

View file

@ -1,151 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:background="@color/content_background">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="30dp"
android:background="@color/content_background">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageButton
android:id="@+id/cancel_button"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:src="@drawable/ic_close_purple_300_24dp"
style="@style/Base.Widget.AppCompat.Button.Borderless"
android:contentDescription="@string/cancel" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="103dp"
android:background="@drawable/layout_rounded_bg_teal"
android:layout_marginStart="@dimen/spacing_large"
android:layout_marginEnd="16dp"
android:layout_marginBottom="24dp">
<LinearLayout
android:id="@+id/contentWrapper"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:orientation="vertical"
android:gravity="center"
android:paddingStart="@dimen/spacing_large"
android:paddingEnd="@dimen/spacing_large"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gift_one_get_one"
android:textColor="@color/white"
android:textSize="20sp"
android:textStyle="bold"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/limited_event"
android:textColor="@color/white"
android:textAllCaps="true"
android:textSize="10sp"
style="@style/Caption2"
android:textAlignment="center"
android:maxWidth="240dp"
android:letterSpacing="0.18"
android:layout_marginBottom="12dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/g1g1_duration"
android:textColor="@color/white"
style="@style/Caption2"
android:textSize="15sp"
android:textAlignment="center"
android:maxWidth="240dp"/>
</LinearLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/g1g1_promo_left"
android:layout_alignParentBottom="true"
android:layout_alignParentStart="true"
android:layout_marginStart="-5dp"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/g1g1_promo_right"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_marginEnd="-5dp" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingStart="@dimen/spacing_large"
android:paddingEnd="@dimen/spacing_large"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="@color/teal_10"
android:textStyle="bold"
android:textSize="15sp"
android:gravity="center"
android:lineHeight="20sp"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"
android:text="@string/g1g1_info_1"/>
<Button
android:id="@+id/gift_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/HabiticaButton.Purple"
android:text="@string/gift_a_subscription"
android:layout_marginTop="24dp"
android:layout_marginBottom="24dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/g1g1_info_2"
android:textSize="15sp"
android:textStyle="bold"
android:gravity="center"
android:layout_marginBottom="7dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/g1g1_info_2_text"
android:gravity="center"
android:textColor="@color/text_quad"
android:lineSpacingExtra="1dp"
android:layout_marginBottom="22dp"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/g1g1_info_3"
android:textSize="15sp"
android:textStyle="bold"
android:gravity="center"
android:layout_marginBottom="7dp"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/g1g1_info_3_text"
android:gravity="center"
android:textColor="@color/text_quad"
android:lineSpacingExtra="1dp"
android:layout_marginStart="15dp"
android:layout_marginEnd="15dp"/>
</LinearLayout>
</LinearLayout>
</ScrollView>

View file

@ -20,7 +20,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:theme="@style/Toolbar"
android:background="?attr/colorContentBackground"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"/>

View file

@ -16,7 +16,7 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:theme="@style/Toolbar"
android:background="?attr/colorContentBackground"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"/>
@ -76,7 +76,7 @@
android:id="@+id/subscription1MonthView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:recurringText="@string/one_month"
app:recurringText="@string/one_month_one_time"
app:gemCapText="@string/subscribe1month_gemcap"
app:isNonRecurring="true"/>
@ -84,7 +84,7 @@
android:id="@+id/subscription3MonthView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:recurringText="@string/three_months"
app:recurringText="@string/three_months_one_time"
app:gemCapText="@string/subscribe3month_gemcap"
app:isNonRecurring="true"
app:hourGlassCount="1" />
@ -92,7 +92,7 @@
android:id="@+id/subscription6MonthView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:recurringText="@string/six_months"
app:recurringText="@string/six_months_one_time"
app:gemCapText="@string/subscribe6month_gemcap"
app:isNonRecurring="true"
app:hourGlassCount="2" />
@ -100,9 +100,10 @@
android:id="@+id/subscription12MonthView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:recurringText="@string/twelve_months"
app:recurringText="@string/twelve_months_one_time"
app:gemCapText="@string/subscribe12month_gemcap"
app:isNonRecurring="true"
app:flagText="@string/save_20"
app:hourGlassCount="4" >
</com.habitrpg.android.habitica.ui.views.subscriptions.SubscriptionOptionView>
@ -120,20 +121,35 @@
android:id="@+id/gift_subscription_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/teal_50"
android:padding="@dimen/spacing_large"
android:background="@drawable/g1g1_menu_background"
android:paddingHorizontal="32dp"
android:paddingVertical="16dp"
android:gravity="center_horizontal"
android:orientation="vertical">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/g1g1_sparkle_left" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gift_one_get_one"
android:gravity="center_horizontal"
android:textColor="@color/white"
android:textSize="16sp"
android:textSize="17sp"
android:layout_marginHorizontal="12dp"
android:fontFamily="@string/font_family_medium"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/g1g1_sparkle_right" />
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:text="@string/gift_one_get_one_detailed_description"
android:gravity="center_horizontal"

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
@ -10,7 +10,7 @@
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="30dp">
android:paddingBottom="20dp">
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
@ -19,7 +19,8 @@
android:id="@+id/cancel_button"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:src="@drawable/ic_close_purple_300_24dp"
android:src="@drawable/ic_close_white_24dp"
android:tint="?colorPrimary"
style="@style/Base.Widget.AppCompat.Button.Borderless"
android:contentDescription="@string/cancel" />
<Space
@ -32,63 +33,52 @@
android:layout_height="wrap_content"
android:text="@string/create"
style="@style/HabiticaButton.Borderless"
android:textColor="?colorAccent"
android:textColor="?colorPrimary"
android:paddingEnd="@dimen/spacing_large"
android:paddingStart="@dimen/spacing_large"
android:minWidth="20dp"/>
</LinearLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/TextAppearance.AppCompat"
android:layout_marginTop="@dimen/spacing_small"
android:layout_marginStart="@dimen/spacing_large"
android:layout_marginEnd="@dimen/spacing_large"
android:background="@drawable/edittext"
android:textColorHint="@color/text_primary">
<com.habitrpg.android.habitica.ui.views.HabiticaAutocompleteTextView
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/group_name_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:hint="@string/name"
android:textColor="@color/text_primary"
android:inputType="textCapSentences"
android:background="@color/transparent"
android:paddingStart="@dimen/spacing_large"
android:paddingEnd="@dimen/spacing_large"
android:paddingBottom="@dimen/spacing_large"
android:paddingTop="20dp"
android:textColorHint="@color/text_secondary"
/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
app:hintTextAppearance="@style/TextAppearance.AppCompat"
android:layout_marginTop="@dimen/spacing_large"
android:layout_marginStart="@dimen/spacing_large"
android:layout_marginEnd="@dimen/spacing_large"
android:background="@drawable/edittext"
android:textColorHint="@color/text_primary">
<com.habitrpg.android.habitica.ui.views.HabiticaAutocompleteTextView
<com.google.android.material.textfield.TextInputEditText
android:id="@+id/group_description_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:hint="@string/description"
android:textColor="@color/text_primary"
android:inputType="textCapSentences|textMultiLine"
android:background="@color/transparent"
android:paddingStart="@dimen/spacing_large"
android:paddingEnd="@dimen/spacing_large"
android:paddingBottom="@dimen/spacing_large"
android:paddingTop="20dp"
android:textColorHint="@color/text_primary"
android:gravity="top"
android:minLines="3"
android:gravity="top" />
android:scrollbars="vertical"/>
</com.google.android.material.textfield.TextInputLayout>
@ -138,4 +128,4 @@
android:id="@+id/privacySpinner" />
</LinearLayout>
</LinearLayout>
</ScrollView>
</FrameLayout>

View file

@ -27,7 +27,7 @@
android:layout_alignParentEnd="true"
android:layout_marginEnd="6dp"
android:layout_alignParentTop="true"
android:layout_marginTop="6dp"
android:layout_marginTop="40dp"
android:textColor="@android:color/white"
android:background="@color/transparent" />

View file

@ -22,13 +22,23 @@
app:popupTheme="@style/ThemeOverlay.AppCompat.Dark"/>
</com.google.android.material.appbar.AppBarLayout>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_gravity="top|center" >
</FrameLayout>
<FrameLayout
android:id="@+id/snackbar_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="158dp"
android:layout_gravity="bottom"
android:paddingBottom="68dp"/>
</FrameLayout>
</LinearLayout>

View file

@ -4,12 +4,9 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FFF"
android:orientation="vertical"
android:gravity="center">
<Button
<com.google.android.material.button.MaterialButton
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="22dp"
@ -17,12 +14,9 @@
android:layout_marginEnd="24dp"
android:layout_marginStart="24dp"
android:textAllCaps="false"
style="@style/Subheader2"
android:textColor="?colorAccent"
android:background="#f9f9f9"
style="@style/HabiticaButton.Gray"
android:id="@+id/btn_add_task"
tools:text="Add habit">
</Button>
</com.google.android.material.button.MaterialButton>
</LinearLayout>

View file

@ -30,7 +30,7 @@
android:scaleType="center"
android:src="@drawable/checkmark" />
</FrameLayout>
<com.habitrpg.android.habitica.ui.views.HabiticaEmojiTextView
<com.habitrpg.android.habitica.ui.views.EllipsisTextView
android:id="@+id/checkedTextView"
style="@style/Body2"
android:layout_width="match_parent"

View file

@ -1,36 +1,42 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/card_view"
style="@style/FlatCardView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_width="match_parent">
<RelativeLayout
android:id="@+id/linearLayout"
android:layout_width="match_parent"
android:minHeight="60dp">
<LinearLayout
android:id="@+id/wrapper"
android:layout_width="76dp"
android:layout_height="wrap_content"
android:minHeight="60dp"
android:background="@drawable/layout_rounded_bg_window"
android:orientation="vertical"
android:clickable="true"
android:background="@drawable/selection_highlight">
<View
android:id="@+id/purchaseOverlay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:background="@android:color/black" />
android:layout_gravity="center">
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/imageView"
android:layout_width="@dimen/avatar_width"
android:layout_height="@dimen/avatar_height"
android:layout_gravity="center_horizontal"
android:scaleType="fitCenter"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
android:layout_width="76dp"
android:layout_height="76dp"
android:layout_gravity="start"
app:roundedCornerRadius="6dp"
app:roundingBorderWidth="6dp"
android:scaleType="fitEnd" />
<FrameLayout
android:id="@+id/buy_button"
android:layout_width="match_parent"
android:layout_height="32dp"
android:background="@drawable/layout_rounded_bg_shopitem_price">
<com.habitrpg.android.habitica.ui.views.CurrencyView
android:id="@+id/price_label"
android:layout_width="wrap_content"
android:layout_height="32dp"
android:textColor="@color/text_quad"
tools:text="150"
style="@style/Body1"
android:textSize="15sp"
android:layout_gravity="center" />
</FrameLayout>
</LinearLayout>
</FrameLayout>

View file

@ -20,6 +20,7 @@
android:layout_width="60dp"
android:layout_height="76dp"
android:layout_gravity="start"
app:roundedCornerRadius="6dp"
android:scaleType="fitEnd" />
<FrameLayout
android:id="@+id/buy_button"

View file

@ -12,7 +12,7 @@
<LinearLayout
android:id="@+id/dialog_wrapper"
android:orientation="vertical"
android:layout_width="320dp"
android:layout_width="360dp"
android:layout_height="wrap_content"
tools:background="@android:color/black"
android:minWidth="300dp"
@ -24,7 +24,7 @@
<LinearLayout
android:id="@+id/dialog_container"
android:minWidth="300dp"
android:layout_width="320dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:background="@drawable/alert_dialog_background"

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="60dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="16sp"
android:letterSpacing="0.02"
android:fontFamily="@string/font_family_medium"
android:text="@string/hatch"
android:textColor="?attr/colorAccent"
android:layout_marginEnd="6dp"
/>
<com.habitrpg.android.habitica.ui.views.CurrencyView
android:id="@+id/currencyView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>

View file

@ -30,7 +30,7 @@
</FrameLayout>
<TextView
android:id="@+id/egg_count_view"
android:layout_width="24dp"
android:layout_width="wrap_content"
android:layout_height="24dp"
style="@style/Pill"
android:padding="0dp"
@ -72,7 +72,7 @@
</FrameLayout>
<TextView
android:id="@+id/potion_count_view"
android:layout_width="24dp"
android:layout_width="wrap_content"
android:layout_height="24dp"
android:padding="0dp"
android:gravity="center"

View file

@ -179,13 +179,4 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"/>
<TextView
android:id="@+id/amount_error_label"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@string/purchase_amount_error"
android:textSize="12sp"
android:textColor="@color/text_ternary"
android:layout_marginTop="@dimen/spacing_medium"
android:gravity="center_horizontal"/>
</merge>

View file

@ -4,18 +4,40 @@
android:layout_height="match_parent"
android:gravity="center_horizontal">
<FrameLayout
android:layout_width="match_parent"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/achievement_confetti_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/challenge_won_gem_confetti"
android:layout_gravity="center"/>
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/achievement_view"
android:layout_width="48dp"
android:layout_height="52dp"
android:layout_gravity="center"/>
android:layout_gravity="center"
android:src="@drawable/challenge_won_gem_confetti" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center"
android:gravity="center">
<ImageView
android:id="@+id/achievement_confetti_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/sparkles_left" />
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/achievement_view"
android:layout_width="48dp"
android:layout_height="52dp"
android:layout_marginStart="20dp"
android:layout_marginEnd="20dp"/>
<ImageView
android:id="@+id/achievement_confetti_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:src="@drawable/sparkles_right" />
</LinearLayout>
</FrameLayout>
<TextView
android:layout_width="wrap_content"

View file

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:scrollbarSize="3dp"
android:scrollbarThumbVertical="@color/scrollbarThumb"
android:scrollbars="vertical"
@ -11,44 +11,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:id="@+id/gift_subscription_container"
android:layout_width="match_parent"
android:layout_height="80dp"
android:background="@drawable/g1g1_box"
android:layout_marginStart="10dp"
android:layout_marginEnd="10dp"
android:layout_marginTop="10dp"
android:clipChildren="true"
android:clipToPadding="true">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/presents1"
android:scaleType="center"
android:layout_alignParentTop="true"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="false"/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/presents2"
android:scaleType="center"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/gift_one_get_one_description"
android:layout_marginStart="60dp"
android:layout_marginEnd="60dp"
android:gravity="center_horizontal"
android:textColor="@color/white"
android:textSize="16sp"
android:fontFamily="@string/font_family_medium"
android:layout_marginBottom="12dp"
android:layout_centerInParent="true"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/promo_banner"
android:layout_width="match_parent"
@ -60,7 +22,8 @@
android:clipChildren="true"
android:clipToPadding="true"
android:clickable="true"
android:visibility="gone">
android:visibility="gone"
tools:visibility="visible">
<ImageView
android:id="@+id/promo_banner_left_image"
android:layout_width="wrap_content"
@ -87,6 +50,18 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="6dp"/>
<TextView
android:id="@+id/promo_banner_title_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone"
android:textSize="16sp"
android:textStyle="bold"
android:layout_marginStart="84dp"
android:layout_marginEnd="84dp"
android:gravity="center"
android:textColor="@color/white"
android:layout_marginBottom="6dp"/>
<TextView
android:id="@+id/promo_banner_duration_view"
android:layout_width="wrap_content"

View file

@ -114,19 +114,20 @@
android:paddingEnd="@dimen/spacing_large"
android:paddingTop="12dp"
android:paddingBottom="12dp"
android:orientation="horizontal">
android:orientation="horizontal"
android:gravity="center_vertical">
<Button
android:id="@+id/invite_button"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="@dimen/button_height"
android:layout_height="wrap_content"
android:text="@string/invite_to_guild"
style="@style/HabiticaButton.Purple" />
<Button
android:id="@+id/join_button"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="@dimen/button_height"
android:layout_height="wrap_content"
android:text="@string/join_guild"
style="@style/HabiticaButton.Green"
android:layout_marginStart="@dimen/spacing_large"/>

View file

@ -81,8 +81,7 @@
android:id="@+id/createPartyButton"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/HabiticaButton.Offset"
android:background="@drawable/layout_rounded_bg_window"
style="@style/HabiticaButton.Gray"
android:text="@string/create_party"
android:layout_marginTop="@dimen/spacing_large"/>
</LinearLayout>
@ -106,6 +105,7 @@
style="@style/Body2"
android:text="@string/join_party_description"
android:textColor="@color/text_quad"
android:textColorLink="@color/text_brand_neon"
android:gravity="center"
android:layout_marginStart="@dimen/spacing_large"
android:layout_marginEnd="@dimen/spacing_large"/>
@ -114,9 +114,7 @@
android:id="@+id/username_textview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="?colorAccent"
style="@style/HabiticaButton.Offset"
android:background="@drawable/layout_rounded_bg_window"
style="@style/HabiticaButton.Gray"
android:layout_marginTop="@dimen/spacing_large"
android:layout_marginBottom="@dimen/spacing_large"/>

Some files were not shown because too many files have changed in this diff Show more