diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index aa0b6a2f64b..0f6d464f4a1 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -96,6 +96,9 @@ NOTICE @BenHenning
# Language configuration files.
config/**/languages/*.textproto @BenHenning
+# Configuration for KitKat-specific curated builds.
+config/kitkat_main_dex_class_list.txt @BenHenning
+
#####################################################################################
# app module #
#####################################################################################
diff --git a/.github/workflows/build_tests.yml b/.github/workflows/build_tests.yml
index b827f77733b..4fa60d192e0 100644
--- a/.github/workflows/build_tests.yml
+++ b/.github/workflows/build_tests.yml
@@ -22,6 +22,8 @@ jobs:
CACHE_DIRECTORY: ~/.bazel_cache
steps:
- uses: actions/checkout@v2
+ with:
+ fetch-depth: 0
- name: Set up JDK 9
uses: actions/setup-java@v1
@@ -130,16 +132,36 @@ jobs:
run: |
bazel build -- //:oppia
- - name: Copy Oppia APK for uploading
- run: cp $GITHUB_WORKSPACE/bazel-bin/oppia.apk /home/runner/work/oppia-android/oppia-android/
+ # Note that caching only works on non-forks.
+ - name: Build Oppia KitKat binary (with caching, non-fork only)
+ if: ${{ env.ENABLE_CACHING == 'true' && github.event.pull_request.head.repo.full_name == 'oppia/oppia-android' }}
+ env:
+ BAZEL_REMOTE_CACHE_URL: ${{ secrets.BAZEL_REMOTE_CACHE_URL }}
+ run: |
+ bazel build --remote_http_cache=$BAZEL_REMOTE_CACHE_URL --google_credentials=./config/oppia-dev-workflow-remote-cache-credentials.json -- //:oppia_kitkat
+
+ - name: Build Oppia binary KitKat (without caching, or on a fork)
+ if: ${{ env.ENABLE_CACHING == 'false' || github.event.pull_request.head.repo.full_name != 'oppia/oppia-android' }}
+ run: |
+ bazel build -- //:oppia_kitkat
+
+ - name: Copy Oppia dev APKs for uploading
+ run: |
+ cp $GITHUB_WORKSPACE/bazel-bin/oppia.apk /home/runner/work/oppia-android/oppia-android/
+ cp $GITHUB_WORKSPACE/bazel-bin/oppia_kitkat.apk /home/runner/work/oppia-android/oppia-android/
- uses: actions/upload-artifact@v2
with:
name: oppia-bazel.apk
path: /home/runner/work/oppia-android/oppia-android/oppia.apk
+ - uses: actions/upload-artifact@v2
+ with:
+ name: oppia-bazel-kitkat.apk
+ path: /home/runner/work/oppia-android/oppia-android/oppia_kitkat.apk
+
build_oppia_dev_aab:
- name: Build Oppia AAB (developer flavor)
+ name: Build Oppia AAB (developer flavors)
runs-on: ${{ matrix.os }}
strategy:
matrix:
@@ -259,16 +281,36 @@ jobs:
run: |
bazel build -- //:oppia_dev
- - name: Copy Oppia APK for uploading
- run: cp $GITHUB_WORKSPACE/bazel-bin/oppia_dev.aab /home/runner/work/oppia-android/oppia-android/
+ # Note that caching only works on non-forks.
+ - name: Build Oppia developer KitKat AAB (with caching, non-fork only)
+ if: ${{ env.ENABLE_CACHING == 'true' && github.event.pull_request.head.repo.full_name == 'oppia/oppia-android' }}
+ env:
+ BAZEL_REMOTE_CACHE_URL: ${{ secrets.BAZEL_REMOTE_CACHE_URL }}
+ run: |
+ bazel build --remote_http_cache=$BAZEL_REMOTE_CACHE_URL --google_credentials=./config/oppia-dev-workflow-remote-cache-credentials.json -- //:oppia_dev_kitkat
+
+ - name: Build Oppia developer KitKat AAB (without caching, or on a fork)
+ if: ${{ env.ENABLE_CACHING == 'false' || github.event.pull_request.head.repo.full_name != 'oppia/oppia-android' }}
+ run: |
+ bazel build -- //:oppia_dev_kitkat
+
+ - name: Copy Oppia developer AABs for uploading
+ run: |
+ cp $GITHUB_WORKSPACE/bazel-bin/oppia_dev.aab /home/runner/work/oppia-android/oppia-android/
+ cp $GITHUB_WORKSPACE/bazel-bin/oppia_dev_kitkat.aab /home/runner/work/oppia-android/oppia-android/
- uses: actions/upload-artifact@v2
with:
name: oppia_dev.aab
path: /home/runner/work/oppia-android/oppia-android/oppia_dev.aab
+ - uses: actions/upload-artifact@v2
+ with:
+ name: oppia_dev_kitkat.aab
+ path: /home/runner/work/oppia-android/oppia-android/oppia_dev_kitkat.aab
+
build_oppia_alpha_aab:
- name: Build Oppia AAB (alpha flavor)
+ name: Build Oppia AAB (alpha flavors)
runs-on: ${{ matrix.os }}
strategy:
matrix:
@@ -388,10 +430,30 @@ jobs:
run: |
bazel build --compilation_mode=opt -- //:oppia_alpha
- - name: Copy Oppia APK for uploading
- run: cp $GITHUB_WORKSPACE/bazel-bin/oppia_alpha.aab /home/runner/work/oppia-android/oppia-android/
+ # Note that caching only works on non-forks.
+ - name: Build Oppia alpha KitKat AAB (with caching, non-fork only)
+ if: ${{ env.ENABLE_CACHING == 'true' && github.event.pull_request.head.repo.full_name == 'oppia/oppia-android' }}
+ env:
+ BAZEL_REMOTE_CACHE_URL: ${{ secrets.BAZEL_REMOTE_CACHE_URL }}
+ run: |
+ bazel build --compilation_mode=opt --remote_http_cache=$BAZEL_REMOTE_CACHE_URL --google_credentials=./config/oppia-dev-workflow-remote-cache-credentials.json -- //:oppia_alpha_kitkat
+
+ - name: Build Oppia alpha KitKat AAB (without caching, or on a fork)
+ if: ${{ env.ENABLE_CACHING == 'false' || github.event.pull_request.head.repo.full_name != 'oppia/oppia-android' }}
+ run: |
+ bazel build --compilation_mode=opt -- //:oppia_alpha_kitkat
+
+ - name: Copy Oppia alpha AABs for uploading
+ run: |
+ cp $GITHUB_WORKSPACE/bazel-bin/oppia_alpha.aab /home/runner/work/oppia-android/oppia-android/
+ cp $GITHUB_WORKSPACE/bazel-bin/oppia_alpha_kitkat.aab /home/runner/work/oppia-android/oppia-android/
- uses: actions/upload-artifact@v2
with:
name: oppia_alpha.aab
path: /home/runner/work/oppia-android/oppia-android/oppia_alpha.aab
+
+ - uses: actions/upload-artifact@v2
+ with:
+ name: oppia_alpha_kitkat.aab
+ path: /home/runner/work/oppia-android/oppia-android/oppia_alpha_kitkat.aab
diff --git a/BUILD.bazel b/BUILD.bazel
index 845129a3402..b6eefe19198 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -1,6 +1,10 @@
# TODO(#1532): Rename file to 'BUILD' post-Gradle.
-load("//:build_flavors.bzl", "AVAILABLE_FLAVORS", "define_oppia_binary_flavor")
+load("//:build_flavors.bzl", "AVAILABLE_FLAVORS", "define_oppia_aab_binary_flavor", "transform_android_manifest")
+load("//:version.bzl", "MAJOR_VERSION", "MINOR_VERSION", "OPPIA_DEV_KITKAT_VERSION_CODE", "OPPIA_DEV_VERSION_CODE")
+
+# This is exported here since config/ isn't a Bazel package.
+exports_files(["config/kitkat_main_dex_class_list.txt"])
# Corresponds to being accessible to all Oppia targets. This should be used for production APIs &
# modules that may be used both in production targets and in tests.
@@ -68,28 +72,66 @@ package_group(
)
# TODO(#1640): Move binary manifest to top-level package post-Gradle.
-android_binary(
- name = "oppia",
- custom_package = "org.oppia.android",
- enable_data_binding = True,
- manifest = "//app:src/main/AndroidManifest.xml",
- manifest_values = {
- "applicationId": "org.oppia.android",
- "minSdkVersion": "19",
- "targetSdkVersion": "29",
- "versionCode": "0",
- "versionName": "0.1-alpha",
- },
- multidex = "native",
- deps = [
- "//app",
- ],
-)
+[
+ transform_android_manifest(
+ name = "oppia_apk_%s_transformed_manifest" % apk_flavor_metadata["flavor"],
+ build_flavor = apk_flavor_metadata["flavor"],
+ input_file = "//app:src/main/AndroidManifest.xml",
+ major_version = MAJOR_VERSION,
+ minor_version = MINOR_VERSION,
+ output_file = "AndroidManifest_transformed_%s.xml" % apk_flavor_metadata["flavor"],
+ version_code = apk_flavor_metadata["version_code"],
+ )
+ for apk_flavor_metadata in [
+ {
+ "flavor": "oppia",
+ "version_code": OPPIA_DEV_VERSION_CODE,
+ },
+ {
+ "flavor": "oppia_kitkat",
+ "version_code": OPPIA_DEV_KITKAT_VERSION_CODE,
+ },
+ ]
+]
+
+[
+ android_binary(
+ name = apk_flavor_metadata["flavor"],
+ custom_package = "org.oppia.android",
+ enable_data_binding = True,
+ main_dex_list = apk_flavor_metadata.get("main_dex_list"),
+ manifest = "oppia_apk_%s_transformed_manifest" % apk_flavor_metadata["flavor"],
+ manifest_values = {
+ "applicationId": "org.oppia.android",
+ "minSdkVersion": "%d" % apk_flavor_metadata["min_sdk_version"],
+ "targetSdkVersion": "%d" % apk_flavor_metadata["target_sdk_version"],
+ },
+ multidex = apk_flavor_metadata["multidex"],
+ deps = [
+ "//app",
+ ],
+ )
+ for apk_flavor_metadata in [
+ {
+ "flavor": "oppia",
+ "min_sdk_version": 21,
+ "multidex": "native",
+ "target_sdk_version": 29,
+ },
+ {
+ "flavor": "oppia_kitkat",
+ "main_dex_list": "//:config/kitkat_main_dex_class_list.txt",
+ "min_sdk_version": 19,
+ "multidex": "manual_main_dex",
+ "target_sdk_version": 29,
+ },
+ ]
+]
# Define all binary flavors that can be built. Note that these are AABs, not APKs, and can be
# be installed on a local device or emulator using a 'bazel run' command like so:
# bazel run //:install_oppia_dev
[
- define_oppia_binary_flavor(flavor = flavor)
+ define_oppia_aab_binary_flavor(flavor = flavor)
for flavor in AVAILABLE_FLAVORS
]
diff --git a/app/BUILD.bazel b/app/BUILD.bazel
index fba131c801b..caf40076824 100644
--- a/app/BUILD.bazel
+++ b/app/BUILD.bazel
@@ -529,7 +529,6 @@ android_library(
# Library for layout resource files.
android_library(
name = "databinding_resources",
- srcs = BINDING_ADAPTERS,
custom_package = "org.oppia.android.app.databinding",
enable_data_binding = True,
exports_manifest = True,
@@ -685,6 +684,7 @@ android_library(
"//third_party:androidx_lifecycle_lifecycle-livedata-ktx",
"//third_party:circularimageview_circular_image_view",
"//third_party:com_google_android_material_material",
+ "//third_party:de_hdodenhof_circleimageview",
"//third_party:io_github_chaosleung_pinview",
"//utility",
"//utility/src/main/java/org/oppia/android/util/system:oppia_clock",
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c5f15f4bfc3..7d433c0fea2 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -5,6 +5,8 @@
+
+
PNG pipeline
+ // in Bazel.
+ AppCompatDelegate.setCompatVectorFromResourcesEnabled(true)
+ }
FirebaseApp.initializeApp(applicationContext)
WorkManager.initialize(applicationContext, workManagerConfiguration)
component.getApplicationStartupListeners().forEach(ApplicationStartupListener::onCreate)
diff --git a/app/src/main/java/org/oppia/android/app/databinding/ImageViewBindingAdapters.java b/app/src/main/java/org/oppia/android/app/databinding/ImageViewBindingAdapters.java
index 710098a0dee..818fa574dec 100644
--- a/app/src/main/java/org/oppia/android/app/databinding/ImageViewBindingAdapters.java
+++ b/app/src/main/java/org/oppia/android/app/databinding/ImageViewBindingAdapters.java
@@ -10,116 +10,26 @@
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.request.RequestListener;
-import com.bumptech.glide.request.RequestOptions;
import com.bumptech.glide.request.target.Target;
import org.oppia.android.R;
-import org.oppia.android.app.model.LessonThumbnailGraphic;
import org.oppia.android.app.model.ProfileAvatar;
/** Holds all custom binding adapters that bind to [ImageView]. */
public final class ImageViewBindingAdapters {
- /**
- * Allows binding drawables to an [ImageView] via "android:src".
- * Reference: https://stackoverflow.com/a/35809319/3689782.
- */
- @BindingAdapter("android:src")
- public static void setImageDrawable(@NonNull ImageView imageView, String imageUrl) {
- RequestOptions requestOptions = new RequestOptions().placeholder(R.drawable.review_placeholder);
- Glide.with(imageView.getContext())
- .load(imageUrl)
- .apply(requestOptions)
- .into(imageView);
- }
-
- /**
- * Allows binding drawables to an [ImageView] via "android:src".
- * Reference: https://stackoverflow.com/a/35809319/3689782.
- */
- @BindingAdapter("android:src")
- public static void setImageDrawable(
+ @BindingAdapter("app:srcCompat")
+ public static void setImageDrawableCompat(
@NonNull ImageView imageView,
@DrawableRes int drawableResourceId
) {
imageView.setImageResource(drawableResourceId);
}
- /**
- * Binds the specified [LessonThumbnailGraphic] as the source for the [ImageView].
- *
- * The view should be specified to have no width/height (when sized in a constraint layout), and
- * use centerCrop for the image to appear correctly.
- */
- @BindingAdapter("android:src")
- public static void setImageDrawable(
- ImageView imageView,
- LessonThumbnailGraphic thumbnailGraphic
+ @BindingAdapter("app:srcCompat")
+ public static void setImageDrawableCompat(
+ @NonNull ImageView imageView,
+ Drawable drawable
) {
- int drawableResourceId;
- switch (thumbnailGraphic) {
- case BAKER:
- drawableResourceId = R.drawable.lesson_thumbnail_graphic_baker;
- break;
- case CHILD_WITH_BOOK:
- drawableResourceId = R.drawable.lesson_thumbnail_graphic_child_with_book;
- break;
- case CHILD_WITH_CUPCAKES:
- drawableResourceId = R.drawable.lesson_thumbnail_graphic_child_with_cupcakes;
- break;
- case CHILD_WITH_FRACTIONS_HOMEWORK:
- drawableResourceId = R.drawable.lesson_thumbnail_graphic_child_with_fractions_homework;
- break;
- case DUCK_AND_CHICKEN:
- drawableResourceId = R.drawable.lesson_thumbnail_graphic_duck_and_chicken;
- break;
- case PERSON_WITH_PIE_CHART:
- drawableResourceId = R.drawable.lesson_thumbnail_graphic_person_with_pie_chart;
- break;
- case IDENTIFYING_THE_PARTS_OF_A_FRACTION:
- drawableResourceId = R.drawable.topic_fractions_01;
- break;
- case WRITING_FRACTIONS:
- drawableResourceId = R.drawable.topic_fractions_02;
- break;
- case EQUIVALENT_FRACTIONS:
- drawableResourceId = R.drawable.topic_fractions_03;
- break;
- case MIXED_NUMBERS_AND_IMPROPER_FRACTIONS:
- drawableResourceId = R.drawable.topic_fractions_04;
- break;
- case COMPARING_FRACTIONS:
- drawableResourceId = R.drawable.topic_fractions_05;
- break;
- case ADDING_AND_SUBTRACTING_FRACTIONS:
- drawableResourceId = R.drawable.topic_fractions_06;
- break;
- case MULTIPLYING_FRACTIONS:
- drawableResourceId = R.drawable.topic_fractions_07;
- break;
- case DIVIDING_FRACTIONS:
- drawableResourceId = R.drawable.topic_fractions_08;
- break;
- case DERIVE_A_RATIO:
- drawableResourceId = R.drawable.topic_ratios_01;
- break;
- case WHAT_IS_A_FRACTION:
- drawableResourceId = R.drawable.topic_fractions_01;
- break;
- case FRACTION_OF_A_GROUP:
- drawableResourceId = R.drawable.topic_fractions_02;
- break;
- case ADDING_FRACTIONS:
- drawableResourceId = R.drawable.topic_fractions_03;
- break;
- case MIXED_NUMBERS:
- drawableResourceId = R.drawable.topic_fractions_04;
- break;
- default:
- drawableResourceId = R.drawable.topic_fractions_01;
- }
- setImageDrawable(
- imageView,
- drawableResourceId
- );
+ imageView.setImageDrawable(drawable);
}
/**
diff --git a/app/src/main/java/org/oppia/android/app/databinding/TextViewBindingAdapters.java b/app/src/main/java/org/oppia/android/app/databinding/TextViewBindingAdapters.java
index e701a8cf20b..00b2abb0255 100644
--- a/app/src/main/java/org/oppia/android/app/databinding/TextViewBindingAdapters.java
+++ b/app/src/main/java/org/oppia/android/app/databinding/TextViewBindingAdapters.java
@@ -3,6 +3,7 @@
import android.app.Activity;
import android.content.Context;
import android.content.ContextWrapper;
+import android.graphics.drawable.Drawable;
import android.view.View;
import android.widget.TextView;
import androidx.annotation.NonNull;
@@ -45,6 +46,17 @@ public static void setProfileLastVisitedText(@NonNull TextView textView, long ti
textView.setText(profileLastVisited);
}
+ /** Binds an AndroidX KitKat-compatible drawable end to the specified text view. */
+ @BindingAdapter("app:drawableEndCompat")
+ public static void setDrawableEndCompat(
+ @NonNull TextView imageView,
+ Drawable drawable
+ ) {
+ imageView.setCompoundDrawablesRelativeWithIntrinsicBounds(
+ /* start= */ null, /* top= */ null, /* end= */ drawable, /* bottom=*/ null
+ );
+ }
+
private static String getTimeAgo(View view, long lastVisitedTimestamp) {
long timeStampMillis = ensureTimestampIsInMilliseconds(lastVisitedTimestamp);
long currentTimeMillis = getOppiaClock(view).getCurrentTimeMs();
diff --git a/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragmentPresenter.kt b/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragmentPresenter.kt
index 3f0525734ab..709d7f5af05 100644
--- a/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragmentPresenter.kt
+++ b/app/src/main/java/org/oppia/android/app/drawer/NavigationDrawerFragmentPresenter.kt
@@ -1,6 +1,5 @@
package org.oppia.android.app.drawer
-import android.os.Build
import android.view.LayoutInflater
import android.view.MenuItem
import android.view.View
@@ -15,6 +14,7 @@ import androidx.lifecycle.LiveData
import androidx.lifecycle.Observer
import androidx.lifecycle.Transformations
import com.google.android.material.navigation.NavigationView
+import com.google.common.base.Optional
import org.oppia.android.R
import org.oppia.android.app.administratorcontrols.AdministratorControlsActivity
import org.oppia.android.app.devoptions.DeveloperOptionsStarter
@@ -40,7 +40,6 @@ import org.oppia.android.domain.topic.TopicController
import org.oppia.android.util.data.AsyncResult
import org.oppia.android.util.data.DataProviders.Companion.toLiveData
import org.oppia.android.util.statusbar.StatusBarColor
-import java.util.Optional
import javax.inject.Inject
const val NAVIGATION_PROFILE_ID_ARGUMENT_KEY =
@@ -98,29 +97,26 @@ class NavigationDrawerFragmentPresenter @Inject constructor(
// TODO(#3382): Remove debug only code from prod build (also check imports, constructor and drawer_fragment.xml)
private fun setIfDeveloperOptionsMenuItemListener() {
- // TODO(#3383): Find a way to make this work below N
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
- developerOptionsStarter.ifPresent { starter ->
- getFooterViewModel().isDebugMode.set(true)
- binding.developerOptionsLinearLayout.setOnClickListener {
- if (getFooterViewModel().isDeveloperOptionsSelected.get() == true) {
- drawerLayout.closeDrawers()
- return@setOnClickListener
- }
- uncheckAllMenuItemsWhenAdministratorControlsOrDeveloperOptionsIsSelected()
- drawerLayout.closeDrawers()
- getFooterViewModel().isDeveloperOptionsSelected.set(true)
- val intent = starter.createIntent(activity, internalProfileId)
- fragment.activity!!.startActivity(intent)
- if (previousMenuItemId == 0) fragment.activity!!.finish()
- else if (previousMenuItemId != null &&
- NavigationDrawerItem.valueFromNavId(previousMenuItemId!!) !=
- NavigationDrawerItem.HOME
- ) {
- fragment.activity!!.finish()
- }
+ developerOptionsStarter.asSet().forEach { starter ->
+ getFooterViewModel().isDebugMode.set(true)
+ binding.developerOptionsLinearLayout.setOnClickListener {
+ if (getFooterViewModel().isDeveloperOptionsSelected.get() == true) {
drawerLayout.closeDrawers()
+ return@setOnClickListener
+ }
+ uncheckAllMenuItemsWhenAdministratorControlsOrDeveloperOptionsIsSelected()
+ drawerLayout.closeDrawers()
+ getFooterViewModel().isDeveloperOptionsSelected.set(true)
+ val intent = starter.createIntent(activity, internalProfileId)
+ fragment.activity!!.startActivity(intent)
+ if (previousMenuItemId == 0) fragment.activity!!.finish()
+ else if (previousMenuItemId != null &&
+ NavigationDrawerItem.valueFromNavId(previousMenuItemId!!) !=
+ NavigationDrawerItem.HOME
+ ) {
+ fragment.activity!!.finish()
}
+ drawerLayout.closeDrawers()
}
}
}
diff --git a/app/src/main/res/layout-land/hints_summary.xml b/app/src/main/res/layout-land/hints_summary.xml
index c1dcba67a30..2b654d0c309 100644
--- a/app/src/main/res/layout-land/hints_summary.xml
+++ b/app/src/main/res/layout-land/hints_summary.xml
@@ -84,7 +84,7 @@
android:layout_gravity="center_vertical"
android:contentDescription="@{viewModel.computeHintListDropDownIconContentDescription()}"
android:padding="8dp"
- android:src="@drawable/ic_arrow_drop_down_black_24dp"
+ app:srcCompat="@drawable/ic_arrow_drop_down_black_24dp"
app:isRotationAnimationClockwise="@{isListExpanded}"
app:rotationAnimationAngle="@{180f}" />
diff --git a/app/src/main/res/layout-land/lessons_chapter_view.xml b/app/src/main/res/layout-land/lessons_chapter_view.xml
index 3b7897fb411..d3fdbbca226 100644
--- a/app/src/main/res/layout-land/lessons_chapter_view.xml
+++ b/app/src/main/res/layout-land/lessons_chapter_view.xml
@@ -1,5 +1,6 @@
-
+
@@ -31,7 +32,7 @@
android:layout_marginStart="16dp"
android:layout_marginEnd="8dp"
android:contentDescription="@{viewModel.computeChapterPlayStateIconContentDescription()}"
- android:src="@{viewModel.chapterPlayState == ChapterPlayState.COMPLETED?@drawable/ic_check_24dp:@drawable/ic_pending_24dp}"
+ app:srcCompat="@{viewModel.chapterPlayState == ChapterPlayState.COMPLETED?@drawable/ic_check_24dp:@drawable/ic_pending_24dp}"
android:visibility="@{(viewModel.chapterPlayState == ChapterPlayState.COMPLETED || viewModel.chapterPlayState == ChapterPlayState.IN_PROGRESS_SAVED)?View.VISIBLE : View.INVISIBLE}" />
diff --git a/app/src/main/res/layout-land/onboarding_slide.xml b/app/src/main/res/layout-land/onboarding_slide.xml
index ce316a794bd..3ac11c15768 100644
--- a/app/src/main/res/layout-land/onboarding_slide.xml
+++ b/app/src/main/res/layout-land/onboarding_slide.xml
@@ -29,7 +29,7 @@
android:adjustViewBounds="true"
android:importantForAccessibility="no"
android:scaleType="fitXY"
- android:src="@{viewModel.slideImage}"
+ app:srcCompat="@{viewModel.slideImage}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="H, 10:9"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout-land/onboarding_slide_final.xml b/app/src/main/res/layout-land/onboarding_slide_final.xml
index 934c8ed5758..afec77e83e1 100644
--- a/app/src/main/res/layout-land/onboarding_slide_final.xml
+++ b/app/src/main/res/layout-land/onboarding_slide_final.xml
@@ -30,7 +30,7 @@
android:adjustViewBounds="true"
android:importantForAccessibility="no"
android:scaleType="fitXY"
- android:src="@drawable/ic_landscape_onboarding_3"
+ app:srcCompat="@drawable/ic_landscape_onboarding_3"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="H, 10:9"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout-land/profile_chooser_add_view.xml b/app/src/main/res/layout-land/profile_chooser_add_view.xml
index ca149ec25ff..71071ed8f22 100644
--- a/app/src/main/res/layout-land/profile_chooser_add_view.xml
+++ b/app/src/main/res/layout-land/profile_chooser_add_view.xml
@@ -33,7 +33,7 @@
android:layout_width="72dp"
android:layout_height="72dp"
android:layout_marginBottom="8dp"
- android:src="@drawable/ic_add_profile"
+ app:srcCompat="@{@drawable/ic_add_profile}"
app:civ_border_color="@color/avatarBorder"
app:civ_border_width="1dp" />
diff --git a/app/src/main/res/layout-land/profile_chooser_fragment.xml b/app/src/main/res/layout-land/profile_chooser_fragment.xml
index 3d9a06b1bc4..43d2939a6a7 100644
--- a/app/src/main/res/layout-land/profile_chooser_fragment.xml
+++ b/app/src/main/res/layout-land/profile_chooser_fragment.xml
@@ -33,7 +33,7 @@
android:paddingStart="4dp"
android:paddingTop="20dp"
android:paddingEnd="20dp"
- android:src="@drawable/ic_language_icon_grey_24dp"
+ app:srcCompat="@drawable/ic_language_icon_grey_24dp"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -117,7 +117,7 @@
android:paddingTop="12dp"
android:paddingEnd="16dp"
android:paddingBottom="12dp"
- android:src="@drawable/ic_settings_grey_48dp" />
+ app:srcCompat="@drawable/ic_settings_grey_48dp" />
diff --git a/app/src/main/res/layout-land/profile_progress_header.xml b/app/src/main/res/layout-land/profile_progress_header.xml
index 3607624b315..8e9cfdc89c2 100644
--- a/app/src/main/res/layout-land/profile_progress_header.xml
+++ b/app/src/main/res/layout-land/profile_progress_header.xml
@@ -39,7 +39,7 @@
android:onClick="@{() -> viewModel.clickOnProfilePicture()}"
android:paddingStart="12dp"
android:paddingTop="12dp"
- android:src="@drawable/rounded_white_background_with_shadow"
+ app:srcCompat="@drawable/rounded_white_background_with_shadow"
app:layout_constraintBottom_toBottomOf="@+id/profile_edit_image"
app:layout_constraintEnd_toEndOf="@+id/profile_edit_image" />
diff --git a/app/src/main/res/layout-land/question_player_fragment.xml b/app/src/main/res/layout-land/question_player_fragment.xml
index 02b7cbdcfa0..b90b0b24ffc 100644
--- a/app/src/main/res/layout-land/question_player_fragment.xml
+++ b/app/src/main/res/layout-land/question_player_fragment.xml
@@ -148,7 +148,7 @@
android:layout_gravity="top|end"
android:layout_margin="8dp"
android:contentDescription="@string/new_hint_available"
- android:src="@drawable/ic_dot_yellow_24dp"
+ app:srcCompat="@drawable/ic_dot_yellow_24dp"
android:visibility="@{viewModel.isHintOpenedAndUnRevealed() ? View.VISIBLE : View.GONE}" />
+ app:srcCompat="@drawable/ic_hint_bulb_white_24dp" />
diff --git a/app/src/main/res/layout-land/story_chapter_view.xml b/app/src/main/res/layout-land/story_chapter_view.xml
index d1d43288657..be3a47b2989 100644
--- a/app/src/main/res/layout-land/story_chapter_view.xml
+++ b/app/src/main/res/layout-land/story_chapter_view.xml
@@ -95,7 +95,7 @@
android:layout_marginEnd="8dp"
android:layout_marginBottom="4dp"
android:contentDescription="@{@string/chapter_completed}"
- android:src="@drawable/ic_check_24dp"
+ app:srcCompat="@drawable/ic_check_24dp"
android:visibility="@{viewModel.chapterSummary.chapterPlayState == ChapterPlayState.COMPLETED ? View.VISIBLE : View.GONE}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout-land/topic_info_fragment.xml b/app/src/main/res/layout-land/topic_info_fragment.xml
index f42fd7673d2..007ec49262d 100644
--- a/app/src/main/res/layout-land/topic_info_fragment.xml
+++ b/app/src/main/res/layout-land/topic_info_fragment.xml
@@ -104,7 +104,7 @@
android:layout_marginTop="24dp"
android:layout_marginEnd="72dp"
android:layout_marginBottom="32dp"
- android:src="@{viewModel.downloadStatusIndicatorDrawableResourceId, default=@drawable/ic_available_offline_primary_24dp}"
+ app:srcCompat="@{viewModel.downloadStatusIndicatorDrawableResourceId, default=@drawable/ic_available_offline_primary_24dp}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/see_more_text_view" />
diff --git a/app/src/main/res/layout-land/topic_lessons_story_summary.xml b/app/src/main/res/layout-land/topic_lessons_story_summary.xml
index 09e92d066df..48ef7150074 100644
--- a/app/src/main/res/layout-land/topic_lessons_story_summary.xml
+++ b/app/src/main/res/layout-land/topic_lessons_story_summary.xml
@@ -135,7 +135,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|bottom"
android:contentDescription="@{isListExpanded ? @string/hide_chapter_list : @string/show_chapter_list}"
- android:src="@drawable/ic_arrow_drop_down_black_24dp"
+ app:srcCompat="@drawable/ic_arrow_drop_down_black_24dp"
app:isRotationAnimationClockwise="@{isListExpanded}"
app:rotationAnimationAngle="@{180f}" />
diff --git a/app/src/main/res/layout-land/walkthrough_final_fragment.xml b/app/src/main/res/layout-land/walkthrough_final_fragment.xml
index c23c0c09f82..09ab8eeebb9 100644
--- a/app/src/main/res/layout-land/walkthrough_final_fragment.xml
+++ b/app/src/main/res/layout-land/walkthrough_final_fragment.xml
@@ -23,7 +23,7 @@
android:layout_width="180dp"
android:layout_height="180dp"
android:layout_marginStart="28dp"
- android:src="@drawable/ic_portrait_onboarding_0"
+ app:srcCompat="@drawable/ic_portrait_onboarding_0"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
diff --git a/app/src/main/res/layout-land/walkthrough_welcome_fragment.xml b/app/src/main/res/layout-land/walkthrough_welcome_fragment.xml
index 5ce14f69346..a34f65e94d7 100644
--- a/app/src/main/res/layout-land/walkthrough_welcome_fragment.xml
+++ b/app/src/main/res/layout-land/walkthrough_welcome_fragment.xml
@@ -57,7 +57,7 @@
android:layout_width="180dp"
android:layout_height="180dp"
android:layout_marginStart="56dp"
- android:src="@drawable/ic_portrait_onboarding_0"
+ app:srcCompat="@drawable/ic_portrait_onboarding_0"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
diff --git a/app/src/main/res/layout-sw600dp-land/hints_summary.xml b/app/src/main/res/layout-sw600dp-land/hints_summary.xml
index a9e5eb3639c..8f38a2a47a8 100644
--- a/app/src/main/res/layout-sw600dp-land/hints_summary.xml
+++ b/app/src/main/res/layout-sw600dp-land/hints_summary.xml
@@ -78,7 +78,7 @@
android:layout_gravity="center_vertical"
android:contentDescription="@{viewModel.computeHintListDropDownIconContentDescription()}"
android:padding="8dp"
- android:src="@drawable/ic_arrow_drop_down_black_24dp"
+ app:srcCompat="@drawable/ic_arrow_drop_down_black_24dp"
app:isRotationAnimationClockwise="@{isListExpanded}"
app:rotationAnimationAngle="@{180f}" />
diff --git a/app/src/main/res/layout-sw600dp-land/onboarding_fragment.xml b/app/src/main/res/layout-sw600dp-land/onboarding_fragment.xml
index 1f018a5b7a7..54be918fb4d 100644
--- a/app/src/main/res/layout-sw600dp-land/onboarding_fragment.xml
+++ b/app/src/main/res/layout-sw600dp-land/onboarding_fragment.xml
@@ -75,7 +75,7 @@
android:minHeight="48dp"
android:onClick="@{(v) -> presenter.clickOnNext()}"
android:scaleType="center"
- android:src="@drawable/ic_arrow_forward_black_24dp"
+ app:srcCompat="@drawable/ic_arrow_forward_black_24dp"
android:visibility="@{viewModel.slideNumber != 3 ? View.VISIBLE: View.GONE, default=visible}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout-sw600dp-land/onboarding_slide.xml b/app/src/main/res/layout-sw600dp-land/onboarding_slide.xml
index 2e4497cf4b8..d583edeb5eb 100644
--- a/app/src/main/res/layout-sw600dp-land/onboarding_slide.xml
+++ b/app/src/main/res/layout-sw600dp-land/onboarding_slide.xml
@@ -28,7 +28,7 @@
android:layout_height="0dp"
android:adjustViewBounds="true"
android:importantForAccessibility="no"
- android:src="@{viewModel.slideImage}"
+ app:srcCompat="@{viewModel.slideImage}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="40:39"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout-sw600dp-land/onboarding_slide_final.xml b/app/src/main/res/layout-sw600dp-land/onboarding_slide_final.xml
index 3944fb465ae..c3b3095228c 100644
--- a/app/src/main/res/layout-sw600dp-land/onboarding_slide_final.xml
+++ b/app/src/main/res/layout-sw600dp-land/onboarding_slide_final.xml
@@ -29,7 +29,7 @@
android:layout_height="0dp"
android:adjustViewBounds="true"
android:importantForAccessibility="no"
- android:src="@drawable/ic_landscape_onboarding_3_tablet"
+ app:srcCompat="@drawable/ic_landscape_onboarding_3_tablet"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintDimensionRatio="40:39"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout-sw600dp-land/profile_chooser_add_view.xml b/app/src/main/res/layout-sw600dp-land/profile_chooser_add_view.xml
index 5e34a5d1fc9..6339536d44e 100644
--- a/app/src/main/res/layout-sw600dp-land/profile_chooser_add_view.xml
+++ b/app/src/main/res/layout-sw600dp-land/profile_chooser_add_view.xml
@@ -39,7 +39,7 @@
android:id="@+id/profile_add_button"
android:layout_width="108dp"
android:layout_height="108dp"
- android:src="@drawable/ic_add_profile"
+ app:srcCompat="@{@drawable/ic_add_profile}"
app:layoutMarginTop="@{hasProfileEverBeenAddedValue ? @dimen/profile_chooser_add_view_circular_image_margin_top_profile_already_added : @dimen/space_0dp}"
app:civ_border_color="@color/avatarBorder"
app:civ_border_width="1dp" />
diff --git a/app/src/main/res/layout-sw600dp-land/profile_chooser_fragment.xml b/app/src/main/res/layout-sw600dp-land/profile_chooser_fragment.xml
index e00baba31e8..7598fcc7260 100644
--- a/app/src/main/res/layout-sw600dp-land/profile_chooser_fragment.xml
+++ b/app/src/main/res/layout-sw600dp-land/profile_chooser_fragment.xml
@@ -37,7 +37,7 @@
android:paddingStart="4dp"
android:paddingTop="20dp"
android:paddingEnd="20dp"
- android:src="@drawable/ic_language_icon_grey_24dp"
+ app:srcCompat="@drawable/ic_language_icon_grey_24dp"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -121,7 +121,7 @@
android:layout_height="48dp"
android:layout_marginEnd="96dp"
android:padding="8dp"
- android:src="@drawable/ic_settings_grey_48dp" />
+ app:srcCompat="@drawable/ic_settings_grey_48dp" />
diff --git a/app/src/main/res/layout-sw600dp-land/profile_progress_header.xml b/app/src/main/res/layout-sw600dp-land/profile_progress_header.xml
index 9398bca7926..6848b0031ef 100644
--- a/app/src/main/res/layout-sw600dp-land/profile_progress_header.xml
+++ b/app/src/main/res/layout-sw600dp-land/profile_progress_header.xml
@@ -38,7 +38,7 @@
android:onClick="@{() -> viewModel.clickOnProfilePicture()}"
android:paddingStart="12dp"
android:paddingTop="12dp"
- android:src="@drawable/rounded_white_background_with_shadow"
+ app:srcCompat="@drawable/rounded_white_background_with_shadow"
app:layout_constraintBottom_toBottomOf="@+id/profile_edit_image"
app:layout_constraintEnd_toEndOf="@+id/profile_edit_image" />
diff --git a/app/src/main/res/layout-sw600dp-land/question_player_fragment.xml b/app/src/main/res/layout-sw600dp-land/question_player_fragment.xml
index 55251dd52f7..8f6b5818b8d 100644
--- a/app/src/main/res/layout-sw600dp-land/question_player_fragment.xml
+++ b/app/src/main/res/layout-sw600dp-land/question_player_fragment.xml
@@ -152,7 +152,7 @@
android:layout_gravity="top|end"
android:layout_margin="8dp"
android:contentDescription="@string/new_hint_available"
- android:src="@drawable/ic_dot_yellow_24dp"
+ app:srcCompat="@drawable/ic_dot_yellow_24dp"
android:visibility="@{viewModel.isHintOpenedAndUnRevealed() ? View.VISIBLE : View.GONE}" />
+ app:srcCompat="@drawable/ic_hint_bulb_white_24dp" />
diff --git a/app/src/main/res/layout-sw600dp-land/topic_info_fragment.xml b/app/src/main/res/layout-sw600dp-land/topic_info_fragment.xml
index 428ddefc4f8..fb3a79937e2 100644
--- a/app/src/main/res/layout-sw600dp-land/topic_info_fragment.xml
+++ b/app/src/main/res/layout-sw600dp-land/topic_info_fragment.xml
@@ -99,7 +99,7 @@
android:layout_height="20dp"
android:layout_marginStart="64dp"
android:layout_marginTop="32dp"
- android:src="@{viewModel.downloadStatusIndicatorDrawableResourceId, default=@drawable/ic_available_offline_primary_24dp}"
+ app:srcCompat="@{viewModel.downloadStatusIndicatorDrawableResourceId, default=@drawable/ic_available_offline_primary_24dp}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/see_more_text_view" />
diff --git a/app/src/main/res/layout-sw600dp-land/topic_lessons_story_summary.xml b/app/src/main/res/layout-sw600dp-land/topic_lessons_story_summary.xml
index c7b07e6e927..d3f338cd0e6 100644
--- a/app/src/main/res/layout-sw600dp-land/topic_lessons_story_summary.xml
+++ b/app/src/main/res/layout-sw600dp-land/topic_lessons_story_summary.xml
@@ -138,7 +138,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|bottom"
android:contentDescription="@{isListExpanded ? @string/hide_chapter_list : @string/show_chapter_list}"
- android:src="@drawable/ic_arrow_drop_down_black_24dp"
+ app:srcCompat="@drawable/ic_arrow_drop_down_black_24dp"
app:isRotationAnimationClockwise="@{isListExpanded}"
app:rotationAnimationAngle="@{180f}" />
diff --git a/app/src/main/res/layout-sw600dp-port/hints_summary.xml b/app/src/main/res/layout-sw600dp-port/hints_summary.xml
index 28dcfdd4ffb..c457db4d9ba 100644
--- a/app/src/main/res/layout-sw600dp-port/hints_summary.xml
+++ b/app/src/main/res/layout-sw600dp-port/hints_summary.xml
@@ -78,7 +78,7 @@
android:layout_gravity="center_vertical"
android:contentDescription="@{viewModel.computeHintListDropDownIconContentDescription()}"
android:padding="8dp"
- android:src="@drawable/ic_arrow_drop_down_black_24dp"
+ app:srcCompat="@drawable/ic_arrow_drop_down_black_24dp"
app:isRotationAnimationClockwise="@{isListExpanded}"
app:rotationAnimationAngle="@{180f}" />
diff --git a/app/src/main/res/layout-sw600dp-port/onboarding_fragment.xml b/app/src/main/res/layout-sw600dp-port/onboarding_fragment.xml
index 37cdf46fe28..7bfbe54ab2d 100644
--- a/app/src/main/res/layout-sw600dp-port/onboarding_fragment.xml
+++ b/app/src/main/res/layout-sw600dp-port/onboarding_fragment.xml
@@ -74,7 +74,7 @@
android:minHeight="48dp"
android:onClick="@{(v) -> presenter.clickOnNext()}"
android:scaleType="center"
- android:src="@drawable/ic_arrow_forward_black_24dp"
+ app:srcCompat="@drawable/ic_arrow_forward_black_24dp"
android:visibility="@{viewModel.slideNumber != 3 ? View.VISIBLE: View.GONE, default=visible}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout-sw600dp-port/onboarding_slide.xml b/app/src/main/res/layout-sw600dp-port/onboarding_slide.xml
index 74a4ab27d9e..ef07a22d85b 100644
--- a/app/src/main/res/layout-sw600dp-port/onboarding_slide.xml
+++ b/app/src/main/res/layout-sw600dp-port/onboarding_slide.xml
@@ -27,7 +27,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:importantForAccessibility="no"
- android:src="@{viewModel.slideImage}"
+ app:srcCompat="@{viewModel.slideImage}"
app:layout_constraintDimensionRatio="5:4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout-sw600dp-port/onboarding_slide_final.xml b/app/src/main/res/layout-sw600dp-port/onboarding_slide_final.xml
index 1890899d7cd..f7b1c43797a 100644
--- a/app/src/main/res/layout-sw600dp-port/onboarding_slide_final.xml
+++ b/app/src/main/res/layout-sw600dp-port/onboarding_slide_final.xml
@@ -28,7 +28,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:importantForAccessibility="no"
- android:src="@drawable/ic_portrait_onboarding_3"
+ app:srcCompat="@drawable/ic_portrait_onboarding_3"
app:layout_constraintDimensionRatio="5:4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout-sw600dp-port/profile_chooser_add_view.xml b/app/src/main/res/layout-sw600dp-port/profile_chooser_add_view.xml
index 7ebf1309dd1..2b493e7cd69 100644
--- a/app/src/main/res/layout-sw600dp-port/profile_chooser_add_view.xml
+++ b/app/src/main/res/layout-sw600dp-port/profile_chooser_add_view.xml
@@ -40,7 +40,7 @@
android:id="@+id/profile_add_button"
android:layout_width="108dp"
android:layout_height="108dp"
- android:src="@drawable/ic_add_profile"
+ app:srcCompat="@{@drawable/ic_add_profile}"
app:layoutMarginTop="@{hasProfileEverBeenAddedValue ? @dimen/profile_chooser_add_view_circular_image_margin_top_profile_already_added : @dimen/space_0dp}"
app:civ_border_color="@color/avatarBorder"
app:civ_border_width="1dp" />
diff --git a/app/src/main/res/layout-sw600dp-port/profile_chooser_fragment.xml b/app/src/main/res/layout-sw600dp-port/profile_chooser_fragment.xml
index 92c6e540cee..0c68b38ba4f 100644
--- a/app/src/main/res/layout-sw600dp-port/profile_chooser_fragment.xml
+++ b/app/src/main/res/layout-sw600dp-port/profile_chooser_fragment.xml
@@ -37,7 +37,7 @@
android:paddingStart="4dp"
android:paddingTop="20dp"
android:paddingEnd="20dp"
- android:src="@drawable/ic_language_icon_grey_24dp"
+ app:srcCompat="@drawable/ic_language_icon_grey_24dp"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -121,7 +121,7 @@
android:layout_height="48dp"
android:layout_marginEnd="64dp"
android:padding="8dp"
- android:src="@drawable/ic_settings_grey_48dp" />
+ app:srcCompat="@drawable/ic_settings_grey_48dp" />
diff --git a/app/src/main/res/layout-sw600dp-port/profile_progress_header.xml b/app/src/main/res/layout-sw600dp-port/profile_progress_header.xml
index 46455c87825..a7b3a4ce187 100644
--- a/app/src/main/res/layout-sw600dp-port/profile_progress_header.xml
+++ b/app/src/main/res/layout-sw600dp-port/profile_progress_header.xml
@@ -38,7 +38,7 @@
android:onClick="@{() -> viewModel.clickOnProfilePicture()}"
android:paddingStart="12dp"
android:paddingTop="12dp"
- android:src="@drawable/rounded_white_background_with_shadow"
+ app:srcCompat="@drawable/rounded_white_background_with_shadow"
app:layout_constraintBottom_toBottomOf="@+id/profile_edit_image"
app:layout_constraintEnd_toEndOf="@+id/profile_edit_image" />
diff --git a/app/src/main/res/layout-sw600dp-port/question_player_fragment.xml b/app/src/main/res/layout-sw600dp-port/question_player_fragment.xml
index ceaa478e9ab..ef3b272aceb 100644
--- a/app/src/main/res/layout-sw600dp-port/question_player_fragment.xml
+++ b/app/src/main/res/layout-sw600dp-port/question_player_fragment.xml
@@ -152,7 +152,7 @@
android:layout_gravity="top|end"
android:layout_margin="8dp"
android:contentDescription="@string/new_hint_available"
- android:src="@drawable/ic_dot_yellow_24dp"
+ app:srcCompat="@drawable/ic_dot_yellow_24dp"
android:visibility="@{viewModel.isHintOpenedAndUnRevealed() ? View.VISIBLE : View.GONE}" />
+ app:srcCompat="@drawable/ic_hint_bulb_white_24dp" />
diff --git a/app/src/main/res/layout-sw600dp-port/topic_info_fragment.xml b/app/src/main/res/layout-sw600dp-port/topic_info_fragment.xml
index 2aa1375f61a..c9bfa875c35 100644
--- a/app/src/main/res/layout-sw600dp-port/topic_info_fragment.xml
+++ b/app/src/main/res/layout-sw600dp-port/topic_info_fragment.xml
@@ -118,7 +118,7 @@
android:layout_height="20dp"
android:layout_marginStart="120dp"
android:layout_marginTop="24dp"
- android:src="@{viewModel.downloadStatusIndicatorDrawableResourceId, default=@drawable/ic_available_offline_primary_24dp}"
+ app:srcCompat="@{viewModel.downloadStatusIndicatorDrawableResourceId, default=@drawable/ic_available_offline_primary_24dp}"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/see_more_text_view" />
diff --git a/app/src/main/res/layout-sw600dp-port/topic_lessons_story_summary.xml b/app/src/main/res/layout-sw600dp-port/topic_lessons_story_summary.xml
index 25b801e8054..9649b299c79 100644
--- a/app/src/main/res/layout-sw600dp-port/topic_lessons_story_summary.xml
+++ b/app/src/main/res/layout-sw600dp-port/topic_lessons_story_summary.xml
@@ -138,7 +138,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|bottom"
android:contentDescription="@{isListExpanded ? @string/hide_chapter_list : @string/show_chapter_list}"
- android:src="@drawable/ic_arrow_drop_down_black_24dp"
+ app:srcCompat="@drawable/ic_arrow_drop_down_black_24dp"
app:isRotationAnimationClockwise="@{isListExpanded}"
app:rotationAnimationAngle="@{180f}" />
diff --git a/app/src/main/res/layout-sw600dp/help_activity.xml b/app/src/main/res/layout-sw600dp/help_activity.xml
index 219ff664632..1b812394dea 100644
--- a/app/src/main/res/layout-sw600dp/help_activity.xml
+++ b/app/src/main/res/layout-sw600dp/help_activity.xml
@@ -37,7 +37,7 @@
android:background="@color/oppiaGreyBackground"
android:contentDescription="@string/help_activity_back_arrow_description"
android:padding="12dp"
- android:src="@drawable/ic_arrow_back_black_24_dp"
+ app:srcCompat="@drawable/ic_arrow_back_black_24_dp"
android:visibility="gone"
app:layout_constraintStart_toEndOf="@id/multipane_guideline"
app:layout_constraintTop_toTopOf="parent" />
diff --git a/app/src/main/res/layout-sw600dp/story_chapter_view.xml b/app/src/main/res/layout-sw600dp/story_chapter_view.xml
index 8ea5b6867a4..72b96f4a8ef 100644
--- a/app/src/main/res/layout-sw600dp/story_chapter_view.xml
+++ b/app/src/main/res/layout-sw600dp/story_chapter_view.xml
@@ -67,7 +67,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="center"
- android:src="@drawable/ic_baseline_lock_24"
+ app:srcCompat="@drawable/ic_baseline_lock_24"
android:visibility="@{viewModel.chapterSummary.chapterPlayState == ChapterPlayState.NOT_PLAYABLE_MISSING_PREREQUISITES ? View.VISIBLE : View.INVISIBLE}"
app:layout_constraintBottom_toBottomOf="@id/chapter_thumbnail"
app:layout_constraintEnd_toEndOf="@id/chapter_thumbnail"
@@ -128,7 +128,7 @@
android:layout_marginEnd="8dp"
android:layout_marginBottom="4dp"
android:contentDescription="@{@string/chapter_completed}"
- android:src="@drawable/ic_check_24dp"
+ app:srcCompat="@drawable/ic_check_24dp"
android:visibility="@{viewModel.chapterSummary.chapterPlayState == ChapterPlayState.COMPLETED ? View.VISIBLE : View.GONE}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/activity_view_binding_adapters_test.xml b/app/src/main/res/layout/activity_view_binding_adapters_test.xml
index ae933b4f361..1ea2f715569 100644
--- a/app/src/main/res/layout/activity_view_binding_adapters_test.xml
+++ b/app/src/main/res/layout/activity_view_binding_adapters_test.xml
@@ -1,5 +1,6 @@
-
+
+ app:srcCompat="@drawable/ic_arrow_drop_down_black_24dp" />
diff --git a/app/src/main/res/layout/add_profile_activity.xml b/app/src/main/res/layout/add_profile_activity.xml
index bf756349f13..3765a11afa0 100644
--- a/app/src/main/res/layout/add_profile_activity.xml
+++ b/app/src/main/res/layout/add_profile_activity.xml
@@ -45,7 +45,7 @@
android:clickable="true"
android:contentDescription="@string/current_profile_picture_content_description"
android:focusable="true"
- android:src="@drawable/ic_default_avatar"
+ app:srcCompat="@drawable/ic_default_avatar"
app:add_shadow="true"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -59,7 +59,7 @@
android:contentDescription="@string/edit_profile_picture_content_description"
android:paddingStart="12dp"
android:paddingTop="12dp"
- android:src="@drawable/rounded_white_background_with_shadow"
+ app:srcCompat="@drawable/rounded_white_background_with_shadow"
app:layout_constraintBottom_toBottomOf="@+id/add_profile_activity_user_image_view"
app:layout_constraintEnd_toEndOf="@+id/add_profile_activity_user_image_view" />
@@ -113,7 +113,7 @@
android:layout_height="48dp"
android:contentDescription="@string/add_profile_info_content_description"
android:padding="12dp"
- android:src="@drawable/ic_info_icon"
+ app:srcCompat="@drawable/ic_info_icon"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="@+id/add_profile_activity_pin_check_box" />
diff --git a/app/src/main/res/layout/app_version_fragment.xml b/app/src/main/res/layout/app_version_fragment.xml
index 17c0b0ff013..3c0dae0e83e 100644
--- a/app/src/main/res/layout/app_version_fragment.xml
+++ b/app/src/main/res/layout/app_version_fragment.xml
@@ -36,7 +36,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/app_version_image_view_margin_start"
- android:src="@drawable/ic_info_icon_gray_24dp"
+ app:srcCompat="@drawable/ic_info_icon_gray_24dp"
app:layout_constraintEnd_toStartOf="@id/app_last_update_date_text_view"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@id/app_last_update_date_text_view" />
diff --git a/app/src/main/res/layout/audio_fragment.xml b/app/src/main/res/layout/audio_fragment.xml
index 6b7417560ab..63c5bbe3562 100755
--- a/app/src/main/res/layout/audio_fragment.xml
+++ b/app/src/main/res/layout/audio_fragment.xml
@@ -35,7 +35,7 @@
android:contentDescription="@{viewModel.playStatusLiveData == UiAudioPlayStatus.PLAYING ? @string/audio_pause_description : @string/audio_play_description}"
android:onClick="@{(v) -> viewModel.togglePlayPause(viewModel.playStatusLiveData)}"
android:padding="12dp"
- android:src="@{viewModel.playStatusLiveData == UiAudioPlayStatus.PLAYING ? @drawable/ic_pause_circle_filled_white_24dp : @drawable/ic_play_circle_filled_white_24dp}"
+ app:srcCompat="@{viewModel.playStatusLiveData == UiAudioPlayStatus.PLAYING ? @drawable/ic_pause_circle_filled_white_24dp : @drawable/ic_play_circle_filled_white_24dp}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@@ -69,7 +69,7 @@
android:gravity="center"
android:onClick="@{(v) -> audioFragment.languageSelectionClicked()}"
android:padding="12dp"
- android:src="@drawable/ic_audio_lang_24px"
+ app:srcCompat="@drawable/ic_audio_lang_24px"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
diff --git a/app/src/main/res/layout/drag_drop_interaction_items.xml b/app/src/main/res/layout/drag_drop_interaction_items.xml
index 2c7a8a1dd3f..429c8799e47 100644
--- a/app/src/main/res/layout/drag_drop_interaction_items.xml
+++ b/app/src/main/res/layout/drag_drop_interaction_items.xml
@@ -45,7 +45,7 @@
android:enabled="@{viewModel.itemIndex != 0}"
android:focusable="true"
android:onClick="@{(v) -> viewModel.handleUpMovement(adapter)}"
- android:src="@drawable/ic_arrow_up_black_24dp"
+ app:srcCompat="@drawable/ic_arrow_up_black_24dp"
android:tint="@{dragDropMoveUpItem.enabled? @color/mergeIconEnabled : @color/mergeIconDisabled}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -62,7 +62,7 @@
android:enabled="@{viewModel.itemIndex != viewModel.listSize-1}"
android:focusable="true"
android:onClick="@{(v) -> viewModel.handleDownMovement(adapter)}"
- android:src="@drawable/ic_keyboard_arrow_down_black_24dp"
+ app:srcCompat="@drawable/ic_keyboard_arrow_down_black_24dp"
android:tint="@{dragDropMoveDownItem.enabled? @color/mergeIconEnabled : @color/mergeIconDisabled}" />
@@ -91,7 +91,7 @@
android:focusable="true"
android:onClick="@{(v) -> viewModel.handleGrouping(adapter)}"
android:padding="16dp"
- android:src="@drawable/ic_merge_icon_24"
+ app:srcCompat="@drawable/ic_merge_icon_24"
android:tint="@{dragDropContentGroupItem.enabled? @color/mergeIconEnabled : @color/mergeIconDisabled}"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -107,7 +107,7 @@
android:focusable="true"
android:onClick="@{(v) -> viewModel.handleUnlinking(adapter)}"
android:padding="16dp"
- android:src="@drawable/ic_unlink_icon_24"
+ app:srcCompat="@drawable/ic_unlink_icon_24"
app:layout_constraintBottom_toTopOf="@+id/drag_drop_content_group_item"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
diff --git a/app/src/main/res/layout/drawer_fragment.xml b/app/src/main/res/layout/drawer_fragment.xml
index b440a07d396..ae5fd677775 100644
--- a/app/src/main/res/layout/drawer_fragment.xml
+++ b/app/src/main/res/layout/drawer_fragment.xml
@@ -65,7 +65,7 @@
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_gravity="center_vertical"
- android:src="@drawable/ic_baseline_code_24"
+ app:srcCompat="@drawable/ic_baseline_code_24"
android:tint="@{footerViewModel.isDeveloperOptionsSelected ? @color/highlightedDeveloperOptionsNavMenuItem : @color/oppiaPrimaryTextDark}"/>
diff --git a/app/src/main/res/layout/force_network_type_network_item_view.xml b/app/src/main/res/layout/force_network_type_network_item_view.xml
index 86ecad0dac2..5c57171578a 100644
--- a/app/src/main/res/layout/force_network_type_network_item_view.xml
+++ b/app/src/main/res/layout/force_network_type_network_item_view.xml
@@ -42,7 +42,7 @@
android:layout_marginEnd="18dp"
android:layout_marginBottom="4dp"
android:contentDescription="@{@string/force_network_type_network_selected}"
- android:src="@drawable/ic_check_24dp"
+ app:srcCompat="@drawable/ic_check_24dp"
android:visibility="@{isNetworkSelected ? View.VISIBLE : View.GONE }"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
diff --git a/app/src/main/res/layout/hints_summary.xml b/app/src/main/res/layout/hints_summary.xml
index 75db37f1e2b..7b0763ccce5 100644
--- a/app/src/main/res/layout/hints_summary.xml
+++ b/app/src/main/res/layout/hints_summary.xml
@@ -84,7 +84,7 @@
android:layout_gravity="center_vertical"
android:contentDescription="@{viewModel.computeHintListDropDownIconContentDescription()}"
android:padding="8dp"
- android:src="@drawable/ic_arrow_drop_down_black_24dp"
+ app:srcCompat="@drawable/ic_arrow_drop_down_black_24dp"
app:isRotationAnimationClockwise="@{isListExpanded}"
app:rotationAnimationAngle="@{180f}" />
diff --git a/app/src/main/res/layout/image_region_selection_test_fragment.xml b/app/src/main/res/layout/image_region_selection_test_fragment.xml
index 57758ce4d1d..5ff07314181 100644
--- a/app/src/main/res/layout/image_region_selection_test_fragment.xml
+++ b/app/src/main/res/layout/image_region_selection_test_fragment.xml
@@ -1,6 +1,7 @@
+ app:srcCompat="@drawable/testing_fraction" />
-
+
@@ -31,7 +32,7 @@
android:layout_marginStart="16dp"
android:layout_marginEnd="8dp"
android:contentDescription="@{viewModel.computeChapterPlayStateIconContentDescription()}"
- android:src="@{viewModel.chapterPlayState == ChapterPlayState.COMPLETED?@drawable/ic_check_24dp:@drawable/ic_pending_24dp}"
+ app:srcCompat="@{viewModel.chapterPlayState == ChapterPlayState.COMPLETED?@drawable/ic_check_24dp:@drawable/ic_pending_24dp}"
android:visibility="@{(viewModel.chapterPlayState == ChapterPlayState.COMPLETED || viewModel.chapterPlayState == ChapterPlayState.IN_PROGRESS_SAVED)?View.VISIBLE : View.INVISIBLE}" />
diff --git a/app/src/main/res/layout/onboarding_slide.xml b/app/src/main/res/layout/onboarding_slide.xml
index 72ac87b4bff..b3b42071e30 100644
--- a/app/src/main/res/layout/onboarding_slide.xml
+++ b/app/src/main/res/layout/onboarding_slide.xml
@@ -27,7 +27,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:importantForAccessibility="no"
- android:src="@{viewModel.slideImage}"
+ app:srcCompat="@{viewModel.slideImage}"
app:layout_constraintDimensionRatio="5:4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/onboarding_slide_final.xml b/app/src/main/res/layout/onboarding_slide_final.xml
index 40158512bd7..b9d63d9d3c3 100644
--- a/app/src/main/res/layout/onboarding_slide_final.xml
+++ b/app/src/main/res/layout/onboarding_slide_final.xml
@@ -29,7 +29,7 @@
android:layout_width="0dp"
android:layout_height="0dp"
android:importantForAccessibility="no"
- android:src="@drawable/ic_portrait_onboarding_3"
+ app:srcCompat="@drawable/ic_portrait_onboarding_3"
app:layout_constraintDimensionRatio="5:4"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
diff --git a/app/src/main/res/layout/pin_password_activity.xml b/app/src/main/res/layout/pin_password_activity.xml
index d45770e047a..59065c76ec2 100644
--- a/app/src/main/res/layout/pin_password_activity.xml
+++ b/app/src/main/res/layout/pin_password_activity.xml
@@ -173,7 +173,7 @@
android:layout_height="32dp"
android:layout_gravity="center_horizontal"
android:contentDescription="@{viewModel.showPassword ? @string/password_shown_icon : @string/password_hidden_icon}"
- android:src="@{viewModel.showPassword ? @drawable/ic_show_eye_icon : @drawable/ic_hide_eye_icon}" />
+ app:srcCompat="@{viewModel.showPassword ? @drawable/ic_show_eye_icon : @drawable/ic_hide_eye_icon}" />
diff --git a/app/src/main/res/layout/profile_chooser_fragment.xml b/app/src/main/res/layout/profile_chooser_fragment.xml
index bba2aeb6c10..cb7210cc957 100644
--- a/app/src/main/res/layout/profile_chooser_fragment.xml
+++ b/app/src/main/res/layout/profile_chooser_fragment.xml
@@ -33,7 +33,7 @@
android:paddingStart="4dp"
android:paddingTop="20dp"
android:paddingEnd="20dp"
- android:src="@drawable/ic_language_icon_grey_24dp"
+ app:srcCompat="@drawable/ic_language_icon_grey_24dp"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
@@ -117,7 +117,7 @@
android:paddingTop="12dp"
android:paddingEnd="16dp"
android:paddingBottom="12dp"
- android:src="@drawable/ic_settings_grey_48dp" />
+ app:srcCompat="@drawable/ic_settings_grey_48dp" />
diff --git a/app/src/main/res/layout/profile_progress_header.xml b/app/src/main/res/layout/profile_progress_header.xml
index 706fe2ecc61..c83060e0fd7 100644
--- a/app/src/main/res/layout/profile_progress_header.xml
+++ b/app/src/main/res/layout/profile_progress_header.xml
@@ -40,7 +40,7 @@
android:onClick="@{() -> viewModel.clickOnProfilePicture()}"
android:paddingStart="8dp"
android:paddingTop="8dp"
- android:src="@drawable/rounded_white_background_with_shadow"
+ app:srcCompat="@drawable/rounded_white_background_with_shadow"
app:layout_constraintBottom_toBottomOf="@+id/profile_edit_image"
app:layout_constraintEnd_toEndOf="@+id/profile_edit_image"/>
diff --git a/app/src/main/res/layout/question_player_fragment.xml b/app/src/main/res/layout/question_player_fragment.xml
index f0d1fc08d77..7591436349e 100644
--- a/app/src/main/res/layout/question_player_fragment.xml
+++ b/app/src/main/res/layout/question_player_fragment.xml
@@ -128,7 +128,7 @@
android:layout_gravity="top|end"
android:layout_margin="8dp"
android:contentDescription="@string/new_hint_available"
- android:src="@drawable/ic_dot_yellow_24dp"
+ app:srcCompat="@drawable/ic_dot_yellow_24dp"
android:visibility="@{viewModel.isHintOpenedAndUnRevealed() ? View.VISIBLE : View.GONE}" />
+ app:srcCompat="@drawable/ic_hint_bulb_white_24dp" />
diff --git a/app/src/main/res/layout/state_fragment.xml b/app/src/main/res/layout/state_fragment.xml
index 3568b2df265..c70dd2cbc7c 100755
--- a/app/src/main/res/layout/state_fragment.xml
+++ b/app/src/main/res/layout/state_fragment.xml
@@ -114,7 +114,7 @@
android:layout_gravity="top|end"
android:layout_margin="8dp"
android:contentDescription="@string/new_hint_available"
- android:src="@drawable/ic_dot_yellow_24dp"
+ app:srcCompat="@drawable/ic_dot_yellow_24dp"
android:visibility="@{viewModel.isHintOpenedAndUnRevealed() ? View.VISIBLE : View.GONE}" />
+ app:srcCompat="@drawable/ic_hint_bulb_white_24dp" />
diff --git a/app/src/main/res/layout/topic_lessons_story_summary.xml b/app/src/main/res/layout/topic_lessons_story_summary.xml
index 722c8bb94f6..9e37a313bf3 100644
--- a/app/src/main/res/layout/topic_lessons_story_summary.xml
+++ b/app/src/main/res/layout/topic_lessons_story_summary.xml
@@ -135,7 +135,7 @@
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal|bottom"
android:contentDescription="@{isListExpanded ? @string/hide_chapter_list : @string/show_chapter_list}"
- android:src="@drawable/ic_arrow_drop_down_black_24dp"
+ app:srcCompat="@drawable/ic_arrow_drop_down_black_24dp"
app:isRotationAnimationClockwise="@{isListExpanded}"
app:rotationAnimationAngle="@{180f}" />
diff --git a/app/src/main/res/layout/topic_practice_subtopic.xml b/app/src/main/res/layout/topic_practice_subtopic.xml
index d476aef4138..d08d11b5a40 100755
--- a/app/src/main/res/layout/topic_practice_subtopic.xml
+++ b/app/src/main/res/layout/topic_practice_subtopic.xml
@@ -45,7 +45,7 @@
android:layout_height="wrap_content"
android:button="@drawable/selector_checkbox"
android:checked="@{isChecked}"
- android:drawableStart="@android:color/transparent"
+ app:drawableStartCompat="@android:color/transparent"
android:drawablePadding="20dp"
android:fontFamily="sans-serif"
android:gravity="start|top"
diff --git a/app/src/main/res/layout/walkthrough_activity.xml b/app/src/main/res/layout/walkthrough_activity.xml
index 114fd74982c..d4c26c4a22f 100644
--- a/app/src/main/res/layout/walkthrough_activity.xml
+++ b/app/src/main/res/layout/walkthrough_activity.xml
@@ -37,7 +37,7 @@
android:contentDescription="@string/back_button"
android:focusable="true"
android:onClick="@{(v) -> presenter.moveToPreviousPage(viewModel.currentProgress)}"
- android:src="@drawable/ic_arrow_back_white_24dp"
+ app:srcCompat="@drawable/ic_arrow_back_white_24dp"
android:tint="@color/grey"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
diff --git a/app/src/main/res/layout/walkthrough_final_fragment.xml b/app/src/main/res/layout/walkthrough_final_fragment.xml
index 75d1ef649a9..6bcc514b99a 100644
--- a/app/src/main/res/layout/walkthrough_final_fragment.xml
+++ b/app/src/main/res/layout/walkthrough_final_fragment.xml
@@ -27,7 +27,7 @@
android:layout_width="180dp"
android:layout_height="180dp"
android:layout_marginTop="32dp"
- android:src="@drawable/ic_portrait_onboarding_0"
+ app:srcCompat="@drawable/ic_portrait_onboarding_0"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/walkthrough_final_title_text_view" />
diff --git a/app/src/main/res/layout/walkthrough_welcome_fragment.xml b/app/src/main/res/layout/walkthrough_welcome_fragment.xml
index 002c9d57959..8f915dd3f0f 100644
--- a/app/src/main/res/layout/walkthrough_welcome_fragment.xml
+++ b/app/src/main/res/layout/walkthrough_welcome_fragment.xml
@@ -58,7 +58,7 @@
android:layout_width="180dp"
android:layout_height="180dp"
android:layout_marginTop="32dp"
- android:src="@drawable/ic_portrait_onboarding_0"
+ app:srcCompat="@drawable/ic_portrait_onboarding_0"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/walkthrough_welcome_description_text_view" />
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index 6b271c3c3a9..16a1d20e97a 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -88,7 +88,7 @@
- @drawable/previous_next_state_image_view_background
- @string/previous_state_description
- 12dp
- - @drawable/ic_arrow_back_oppia_dark_blue_24dp
+ - @drawable/ic_arrow_back_oppia_dark_blue_24dp