diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000000..af34eb1d8f
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,58 @@
+#!/usr/bin/env groovy
+
+pipeline {
+ agent {
+ label 'android-worker'
+ }
+
+ environment {
+ PIPELINE_JOBS_NAME = 'edx-app-android-pipeline'
+ ANDROID_HOME = '/opt/android-sdk-linux'
+ APK_PATH = 'OpenEdXMobile/build/outputs/apk/prod/debuggable'
+ CONFIG_REPO_NAME = 'edx-mobile-config'
+ }
+
+ stages {
+ stage('checkingout configs') {
+ steps {
+ sh 'mkdir -p edx-mobile-config'
+ dir('edx-mobile-config'){
+ sshagent(credentials: ['jenkins-worker', 'jenkins-worker-pem'], ignoreMissing: true) {
+ checkout changelog: false, poll: false, scm: [
+ $class: 'GitSCM',
+ branches:
+ // Using specific branch to avoid Firebase config limitations
+ //[[name: '*/master']],
+ [[name: 'naveed/automation_configs']],
+ doGenerateSubmoduleConfigurations: false,
+ extensions:
+ [[$class: 'CloneOption', honorRefspec: true,
+ noTags: true, shallow: true]],
+ submoduleCfg: [],
+ userRemoteConfigs:
+ [[credentialsId: 'jenkins-worker',
+ refspec: '+refs/heads/*:refs/remotes/origin/*',
+ url: "git@github.com:edx/${CONFIG_REPO_NAME}.git"]]
+ ]
+ }
+ }
+ }
+ }
+ stage('compiling edx-app-android') {
+ steps {
+ writeFile file: './OpenEdXMobile/edx.properties', text: 'edx.dir = \'../edx-mobile-config/prod/\''
+ sh 'bash ./resources/compile_android.sh'
+ }
+ }
+ stage('valdiate compiled app') {
+ steps {
+ sh 'bash ./resources/validate_builds.sh'
+ }
+ }
+ stage('archive the build') {
+ steps {
+ archiveArtifacts artifacts: "$APK_PATH/*.apk", onlyIfSuccessful: true
+ }
+ }
+ }
+}
diff --git a/OpenEdXMobile/AndroidManifest.xml b/OpenEdXMobile/AndroidManifest.xml
index 80b17bd9ee..d4a170bbd2 100644
--- a/OpenEdXMobile/AndroidManifest.xml
+++ b/OpenEdXMobile/AndroidManifest.xml
@@ -150,11 +150,6 @@
android:label="@string/title_download"
android:theme="@style/AppTheme.NoActionBar.TranslucentStatusBar" />
-
-
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+ -
+
+
+
+
+
+
diff --git a/OpenEdXMobile/res/layout/activity_discovery_launch.xml b/OpenEdXMobile/res/layout/activity_discovery_launch.xml
index 1798a7126e..0e00619d20 100755
--- a/OpenEdXMobile/res/layout/activity_discovery_launch.xml
+++ b/OpenEdXMobile/res/layout/activity_discovery_launch.xml
@@ -26,7 +26,7 @@
android:layout_height="@dimen/logo_height"
android:layout_marginTop="@dimen/logo_top_margin"
android:contentDescription="@string/phonetic_app_name"
- android:src="@drawable/launch_screen_logo" />
+ android:src="@drawable/youngsphere_logo" />
+ android:src="@drawable/youngsphere_logo" />
+ android:src="@drawable/youngsphere_logo" />
diff --git a/OpenEdXMobile/res/layout/course_card.xml b/OpenEdXMobile/res/layout/course_card.xml
index eba6cf6d6f..5ef0099958 100644
--- a/OpenEdXMobile/res/layout/course_card.xml
+++ b/OpenEdXMobile/res/layout/course_card.xml
@@ -67,11 +67,11 @@
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:contentDescription="@string/new_course_content"
- android:paddingLeft="@dimen/widget_margin_half"
android:paddingStart="@dimen/widget_margin_half"
+ android:paddingLeft="@dimen/widget_margin_half"
android:text="@string/new_course_content"
android:textAllCaps="true"
- android:textColor="@color/edx_brand_primary_accent"
+ android:textColor="@android:color/holo_orange_dark"
android:textSize="@dimen/edx_x_small"
tools:targetApi="17" />
diff --git a/OpenEdXMobile/res/layout/delete_successful_dialog.xml b/OpenEdXMobile/res/layout/delete_successful_dialog.xml
index 00a8bd7a82..301c890f38 100755
--- a/OpenEdXMobile/res/layout/delete_successful_dialog.xml
+++ b/OpenEdXMobile/res/layout/delete_successful_dialog.xml
@@ -61,7 +61,7 @@
android:layout_height="35dip"
android:layout_gravity="center|center_horizontal"
android:layout_weight="0.5"
- android:background="@android:color/white"
+ android:background="@color/edx_success_accent"
android:text="@string/label_ok"
android:textAllCaps="true"
android:textSize="15sp" />
diff --git a/OpenEdXMobile/res/layout/fragment_account.xml b/OpenEdXMobile/res/layout/fragment_account.xml
index 1092708520..a251e0ea7c 100755
--- a/OpenEdXMobile/res/layout/fragment_account.xml
+++ b/OpenEdXMobile/res/layout/fragment_account.xml
@@ -31,11 +31,13 @@
diff --git a/OpenEdXMobile/res/layout/fragment_dashboard_error_layout.xml b/OpenEdXMobile/res/layout/fragment_dashboard_error_layout.xml
index 891da451ce..4e4f9697d9 100755
--- a/OpenEdXMobile/res/layout/fragment_dashboard_error_layout.xml
+++ b/OpenEdXMobile/res/layout/fragment_dashboard_error_layout.xml
@@ -21,6 +21,7 @@
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/widget_margin"
android:textSize="@dimen/edx_large"
+ android:textStyle="bold"
tools:text="Error text" />
diff --git a/OpenEdXMobile/res/layout/fragment_edit_user_profile.xml b/OpenEdXMobile/res/layout/fragment_edit_user_profile.xml
index fe77cccc4d..cc8753f145 100644
--- a/OpenEdXMobile/res/layout/fragment_edit_user_profile.xml
+++ b/OpenEdXMobile/res/layout/fragment_edit_user_profile.xml
@@ -70,12 +70,12 @@
android:background="?android:attr/selectableItemBackground"
android:contentDescription="@string/edit_user_profile_change_photo_description"
android:drawablePadding="@dimen/x_small_icon_margin"
+ android:focusable="true"
android:gravity="center_vertical"
android:paddingLeft="@dimen/edx_margin"
android:paddingRight="@dimen/edx_margin"
android:text="@string/edit_user_profile_change_photo"
- android:focusable="true"
- android:textColor="@color/disableable_button_text"
+ android:textColor="@color/edx_success_text"
android:textSize="@dimen/edx_x_small" />
diff --git a/OpenEdXMobile/res/layout/fragment_find_courses.xml b/OpenEdXMobile/res/layout/fragment_find_courses.xml
index 3cc685760d..cb80a20281 100755
--- a/OpenEdXMobile/res/layout/fragment_find_courses.xml
+++ b/OpenEdXMobile/res/layout/fragment_find_courses.xml
@@ -13,9 +13,11 @@
android:layout_height="wrap_content"
android:clipToPadding="false"
android:divider="@android:color/transparent"
- android:dividerHeight="@dimen/widget_margin"
+ android:dividerHeight="@dimen/widget_margin_half"
android:drawSelectorOnTop="false"
android:listSelector="@android:color/transparent"
+ android:paddingBottom="@dimen/widget_margin_half"
+ android:paddingTop="@dimen/widget_margin_half"
tools:listitem="@layout/row_course_list" />
diff --git a/OpenEdXMobile/res/layout/fragment_main_discovery.xml b/OpenEdXMobile/res/layout/fragment_main_discovery.xml
new file mode 100644
index 0000000000..238dd97524
--- /dev/null
+++ b/OpenEdXMobile/res/layout/fragment_main_discovery.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenEdXMobile/res/layout/fragment_my_courses_list.xml b/OpenEdXMobile/res/layout/fragment_my_courses_list.xml
index dc1de65aec..52fd8e0cb5 100644
--- a/OpenEdXMobile/res/layout/fragment_my_courses_list.xml
+++ b/OpenEdXMobile/res/layout/fragment_my_courses_list.xml
@@ -19,7 +19,9 @@
android:layout_height="wrap_content"
android:clipToPadding="false"
android:divider="@android:color/transparent"
- android:dividerHeight="@dimen/widget_margin"
+ android:dividerHeight="@dimen/widget_margin_half"
+ android:paddingTop="@dimen/widget_margin_half"
+ android:paddingBottom="@dimen/widget_margin_half"
android:drawSelectorOnTop="false"
android:listSelector="@android:color/transparent"
tools:listitem="@layout/row_course_list" />
diff --git a/OpenEdXMobile/res/layout/fragment_user_profile.xml b/OpenEdXMobile/res/layout/fragment_user_profile.xml
index e3821bc85c..965983bcdf 100644
--- a/OpenEdXMobile/res/layout/fragment_user_profile.xml
+++ b/OpenEdXMobile/res/layout/fragment_user_profile.xml
@@ -34,9 +34,9 @@
android:id="@+id/name_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginBottom="@dimen/widget_margin"
android:layout_marginTop="@dimen/widget_margin"
- android:textColor="@color/edx_brand_primary_base"
+ android:layout_marginBottom="@dimen/widget_margin"
+ android:textColor="@android:color/holo_orange_dark"
android:textSize="@dimen/edx_xx_large"
tools:text="username" />
@@ -105,7 +105,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/x_small_icon_margin"
- android:textColor="@color/edx_brand_primary_accent"
+ android:textColor="@color/edx_success_accent"
android:textSize="@dimen/edx_x_small"
android:visibility="gone"
tools:text="@string/profile_sharing_limited_by_you"
diff --git a/OpenEdXMobile/res/layout/fragment_videosize_exceeds_dialog.xml b/OpenEdXMobile/res/layout/fragment_videosize_exceeds_dialog.xml
index f696b62334..eae318b9a2 100755
--- a/OpenEdXMobile/res/layout/fragment_videosize_exceeds_dialog.xml
+++ b/OpenEdXMobile/res/layout/fragment_videosize_exceeds_dialog.xml
@@ -63,14 +63,15 @@
android:layout_width="0dp"
android:layout_height="35dip"
android:layout_gravity="center|center_horizontal"
- android:layout_marginRight="0.5dp"
android:layout_marginEnd="0.5dp"
+ android:layout_marginRight="0.5dp"
android:layout_weight="0.5"
android:background="@android:color/white"
android:gravity="center"
android:text="@string/label_cancel"
android:textAllCaps="true"
android:textSize="15sp"
+ android:textStyle="bold"
tools:targetApi="17" />
+ android:textSize="15sp"
+ android:textStyle="bold" />
diff --git a/OpenEdXMobile/res/layout/fragment_view_subjects.xml b/OpenEdXMobile/res/layout/fragment_view_subjects.xml
index 4891715f3d..40e8155051 100755
--- a/OpenEdXMobile/res/layout/fragment_view_subjects.xml
+++ b/OpenEdXMobile/res/layout/fragment_view_subjects.xml
@@ -14,6 +14,7 @@
android:id="@+id/sv_search_subjects"
style="@style/launch_search_bar"
android:layout_marginBottom="@dimen/widget_margin"
+ android:background="@color/edx_success_accent"
android:imeOptions="flagNoFullscreen|flagNoExtractUi"
app:queryHint="@string/search_subjects"
app:theme="@style/search_view_theme" />
diff --git a/OpenEdXMobile/res/layout/fragment_webview.xml b/OpenEdXMobile/res/layout/fragment_webview.xml
new file mode 100755
index 0000000000..8204c39dfd
--- /dev/null
+++ b/OpenEdXMobile/res/layout/fragment_webview.xml
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenEdXMobile/res/layout/fragment_webview_discovery.xml b/OpenEdXMobile/res/layout/fragment_webview_discovery.xml
new file mode 100755
index 0000000000..8cd852d8ee
--- /dev/null
+++ b/OpenEdXMobile/res/layout/fragment_webview_discovery.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenEdXMobile/res/layout/panel_filter_by_subject.xml b/OpenEdXMobile/res/layout/panel_filter_by_subject.xml
new file mode 100644
index 0000000000..b4d4dea4d6
--- /dev/null
+++ b/OpenEdXMobile/res/layout/panel_filter_by_subject.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/OpenEdXMobile/res/layout/panel_find_course.xml b/OpenEdXMobile/res/layout/panel_find_course.xml
index 949908c41a..6806e4fe67 100644
--- a/OpenEdXMobile/res/layout/panel_find_course.xml
+++ b/OpenEdXMobile/res/layout/panel_find_course.xml
@@ -3,41 +3,48 @@
+ android:layout_height="wrap_content">
-
+ android:layout_marginLeft="@dimen/widget_margin"
+ android:layout_marginRight="@dimen/widget_margin"
+ style="@style/edX.Widget.CardView">
-
+ android:orientation="vertical"
+ android:paddingLeft="@dimen/edx_margin"
+ android:paddingRight="@dimen/edx_margin">
-
+
+
+
-
+
+
diff --git a/OpenEdXMobile/res/layout/panel_player.xml b/OpenEdXMobile/res/layout/panel_player.xml
index df57a99d7e..5862c5f88a 100755
--- a/OpenEdXMobile/res/layout/panel_player.xml
+++ b/OpenEdXMobile/res/layout/panel_player.xml
@@ -12,8 +12,8 @@
android:background="@color/black"
android:visibility="visible" >
-
diff --git a/OpenEdXMobile/res/layout/row_bulk_download.xml b/OpenEdXMobile/res/layout/row_bulk_download.xml
index 4f61142b45..3ae89fa769 100644
--- a/OpenEdXMobile/res/layout/row_bulk_download.xml
+++ b/OpenEdXMobile/res/layout/row_bulk_download.xml
@@ -47,7 +47,7 @@
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:textColor="@color/edx_brand_primary_base"
+ android:textColor="@android:color/holo_orange_dark"
android:textSize="@dimen/edx_small"
tools:text="1 of 17 Videos Downloaded" />
@@ -56,7 +56,7 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/bulk_download_description_top_margin"
- android:textColor="@color/edx_brand_gray_accent"
+ android:textColor="@color/common_google_signin_btn_text_light_pressed"
android:textSize="@dimen/edx_small"
tools:text="5.5MB of 67.5MB total" />
diff --git a/OpenEdXMobile/res/layout/row_chapter_list.xml b/OpenEdXMobile/res/layout/row_chapter_list.xml
index 0503e4391f..04046f8abf 100755
--- a/OpenEdXMobile/res/layout/row_chapter_list.xml
+++ b/OpenEdXMobile/res/layout/row_chapter_list.xml
@@ -18,14 +18,15 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
- android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
+ android:layout_marginLeft="10dp"
android:ellipsize="end"
android:maxWidth="@dimen/width_chapter_text"
android:singleLine="true"
- tools:text="Chapter Name"
+ android:textColor="@color/black"
android:textSize="16sp"
- tools:targetApi="17" />
+ tools:targetApi="17"
+ tools:text="Chapter Name" />
-
+ android:foreground="@drawable/selectable_rounded_box_overlay">
-
+
+
+
diff --git a/OpenEdXMobile/res/layout/row_discussion_comments_comment.xml b/OpenEdXMobile/res/layout/row_discussion_comments_comment.xml
index 393cceccf2..5c8da15a5f 100644
--- a/OpenEdXMobile/res/layout/row_discussion_comments_comment.xml
+++ b/OpenEdXMobile/res/layout/row_discussion_comments_comment.xml
@@ -6,11 +6,9 @@
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/discussion_responses_standard_margin"
android:layout_marginRight="@dimen/discussion_responses_standard_margin"
- app:cardCornerRadius="@dimen/edx_box_radius"
+ style="@style/edX.Widget.CardView"
app:cardElevation="1dp"
- app:cardMaxElevation="1dp"
- app:cardPreventCornerOverlap="false"
- app:cardUseCompatPadding="true">
+ app:cardMaxElevation="1dp">
+ style="@style/edX.Widget.CardView">
+ android:layout_marginTop="@dimen/discussion_responses_standard_margin">
@@ -39,6 +40,7 @@
android:ellipsize="end"
android:maxLines="1"
android:textSize="@dimen/last_accessed_unit_text_size"
+ android:textStyle="bold"
tools:targetApi="17"
tools:text="Course Name" />
@@ -52,9 +54,9 @@
android:layout_marginRight="@dimen/last_accessed_button_right_margin"
android:background="@drawable/selectable_box_overlay"
android:padding="@dimen/last_accessed_button_padding"
- android:textAllCaps="true"
android:text="@string/view_button_text"
- android:textColor="@color/edx_brand_primary_base"
+ android:textAllCaps="true"
+ android:textColor="@android:color/holo_orange_dark"
android:textSize="@dimen/last_accessed_button_text_size" />
diff --git a/OpenEdXMobile/res/layout/segment_control_button_base.xml b/OpenEdXMobile/res/layout/segment_control_button_base.xml
new file mode 100644
index 0000000000..975fe42bfa
--- /dev/null
+++ b/OpenEdXMobile/res/layout/segment_control_button_base.xml
@@ -0,0 +1,5 @@
+
\ No newline at end of file
diff --git a/OpenEdXMobile/res/layout/toolbar_with_profile_button.xml b/OpenEdXMobile/res/layout/toolbar_with_profile_button.xml
index 2f699799b4..03593c8633 100644
--- a/OpenEdXMobile/res/layout/toolbar_with_profile_button.xml
+++ b/OpenEdXMobile/res/layout/toolbar_with_profile_button.xml
@@ -32,6 +32,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="@dimen/courses_title_text_left_margin"
android:layout_marginEnd="@dimen/courses_profile_icon_left_margin"
+ android:textColor="@color/edx_success_text"
tools:text="Screen title" />
%1$s no puede tener más de %2$d caracteres.
Este curso aún no ha empezado.
+
+ Tu Acceso a este curso ha expirado
Su acción no pudo ser completada.
@@ -85,5 +87,5 @@
Su versión de la aplicación ya no es compatible. Actualice a la última versión para registrarse.
- Permiso denegado
+ Permiso no concedido
diff --git a/OpenEdXMobile/res/values-es/strings.xml b/OpenEdXMobile/res/values-es/strings.xml
index 001cd116ee..0b1656f94e 100644
--- a/OpenEdXMobile/res/values-es/strings.xml
+++ b/OpenEdXMobile/res/values-es/strings.xml
@@ -40,6 +40,8 @@
Descargar solo por Wi-Fi
Sólo descargar contenido cuando el Wifi está encendido
+
+
Comparta su certificado
@@ -101,6 +103,7 @@
Encontrar cursos
Exploración
+
Descubrir
@@ -190,6 +193,10 @@ Si no lo recibe en algunos minutos, asegúrese de revisar su carpeta de spam.Terminado el {date}
Terminando el {date}
+
+
+
+
Contenido del curso
@@ -454,6 +461,8 @@ Si no lo recibe en algunos minutos, asegúrese de revisar su carpeta de spam.No hay apps de correo instaladas
Buscar cursos
+
+
¿Ya tiene una cuenta? Inicie sesión
@@ -468,7 +477,6 @@ Si no lo recibe en algunos minutos, asegúrese de revisar su carpeta de spam.
Iniciar sesión
- Cursos gratuitos de las mejores universidades del mundo en tu bolsillo.
Buscar cursos
diff --git a/OpenEdXMobile/res/values/errors.xml b/OpenEdXMobile/res/values/errors.xml
index 18f6eb0701..49ade44cb2 100755
--- a/OpenEdXMobile/res/values/errors.xml
+++ b/OpenEdXMobile/res/values/errors.xml
@@ -91,7 +91,7 @@
This course hasn’t started yet.
- Your access to this course has expired.
+ Your access to this course has expired.
Your action could not be completed.
diff --git a/OpenEdXMobile/res/values/ids.xml b/OpenEdXMobile/res/values/ids.xml
index c539cf756c..86eccded4e 100644
--- a/OpenEdXMobile/res/values/ids.xml
+++ b/OpenEdXMobile/res/values/ids.xml
@@ -1,4 +1,7 @@
-
+
+
+
+
diff --git a/OpenEdXMobile/res/values/strings.xml b/OpenEdXMobile/res/values/strings.xml
index 2e243ccc38..fc0cc3f6d0 100755
--- a/OpenEdXMobile/res/values/strings.xml
+++ b/OpenEdXMobile/res/values/strings.xml
@@ -125,6 +125,8 @@
Find Courses
Discover
+
+ Degrees
Discovery
@@ -513,6 +515,10 @@
No e-mail clients installed
Search for courses
+
+ Search for programs
+
+ Search for degrees
@@ -529,7 +535,7 @@
Log In
- Free courses from the world’s best universities in your pocket.
+ Courses from the world’s best universities in your pocket.
Search Courses
diff --git a/OpenEdXMobile/res/values/styles.xml b/OpenEdXMobile/res/values/styles.xml
index 8865750827..9f601d0162 100755
--- a/OpenEdXMobile/res/values/styles.xml
+++ b/OpenEdXMobile/res/values/styles.xml
@@ -451,6 +451,13 @@
- true
+
+
diff --git a/OpenEdXMobile/res/values/text_styles.xml b/OpenEdXMobile/res/values/text_styles.xml
index 52d70d0d65..a5acc1498c 100755
--- a/OpenEdXMobile/res/values/text_styles.xml
+++ b/OpenEdXMobile/res/values/text_styles.xml
@@ -102,6 +102,9 @@
+