diff --git a/app/build.gradle b/app/build.gradle
index fc7454de..512abe97 100755
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -21,15 +21,20 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "com.android.support:appcompat-v7:26.1.0"
+ implementation "com.android.support:design:27.1.0"
implementation "com.google.firebase:firebase-auth:$rootProject.firebaseVersion"
implementation "com.google.firebase:firebase-database:$rootProject.firebaseVersion"
implementation "com.google.firebase:firebase-messaging:$rootProject.firebaseVersion"
implementation "com.android.support.constraint:constraint-layout:$rootProject.constraintLayoutVersion"
+ implementation 'com.android.support.constraint:constraint-layout:1.1.0'
testImplementation "junit:junit:$rootProject.junitVersion"
+
+ implementation 'com.mikhaellopez:circularimageview:3.0.2'
+ implementation 'com.afollestad.material-dialogs:core:0.9.6.0'
+
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
-
implementation "com.android.support:appcompat-v7:$rootProject.supportLibVersion"
implementation "com.android.support:cardview-v7:$rootProject.supportLibVersion"
implementation "com.android.support:design:$rootProject.supportLibVersion"
diff --git a/app/src/main/java/com/developervishalsehgal/udacityscholarsapp/ui/avatars/avatar_selection.java b/app/src/main/java/com/developervishalsehgal/udacityscholarsapp/ui/avatars/avatar_selection.java
new file mode 100644
index 00000000..f34d21f2
--- /dev/null
+++ b/app/src/main/java/com/developervishalsehgal/udacityscholarsapp/ui/avatars/avatar_selection.java
@@ -0,0 +1,100 @@
+package com.developervishalsehgal.udacityscholarsapp.ui.avatars;
+
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.support.annotation.NonNull;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.view.View;
+import android.widget.ImageView;
+
+import com.afollestad.materialdialogs.DialogAction;
+import com.afollestad.materialdialogs.MaterialDialog;
+import com.developervishalsehgal.udacityscholarsapp.R;
+
+
+public class avatar_selection extends AppCompatActivity implements View.OnClickListener {
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_avatar_selection);
+
+ }
+
+ @Override
+ public void onClick(View view) {
+
+ final Intent intent = new Intent(this,com.developervishalsehgal.udacityscholarsapp.ui.profile.UserProfileActivity.class);
+
+ int id = view.getId();
+ if (id == R.id.pic1) {
+
+ new MaterialDialog.Builder(this)
+ .title("Are you sure?")
+ .content("Selected image would be chosen as your new profile picture")
+ .positiveText("YES")
+ .negativeText("NO")
+ .onPositive(new MaterialDialog.SingleButtonCallback() {
+
+ @Override
+ public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
+ intent.putExtra("profile_path",R.drawable.avatar_1);
+ startActivity(intent);
+ }
+ })
+ .show();
+
+ } else if (id == R.id.pic2) {
+ new MaterialDialog.Builder(this)
+ .title("Are you sure?")
+ .content("Selected image would be chosen as your new profile picture")
+ .positiveText("YES")
+ .negativeText("NO")
+ .onPositive(new MaterialDialog.SingleButtonCallback() {
+
+ @Override
+ public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
+ intent.putExtra("profile_path",R.drawable.avatar_2);
+ startActivity(intent);
+ }
+ })
+ .show();
+
+ } else if (id == R.id.pic3) {
+
+ new MaterialDialog.Builder(this)
+ .title("Are you sure?")
+ .content("Selected image would be chosen as your new profile picture")
+ .positiveText("YES")
+ .negativeText("NO")
+ .onPositive(new MaterialDialog.SingleButtonCallback() {
+
+ @Override
+ public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
+ intent.putExtra("profile_path",R.drawable.avatar_3);
+ startActivity(intent);
+ }
+ })
+ .show();
+
+ } else if (id == R.id.pic4) {
+
+ new MaterialDialog.Builder(this)
+ .title("Are you sure?")
+ .content("Selected image would be chosen as your new profile picture")
+ .positiveText("YES")
+ .negativeText("NO")
+ .onPositive(new MaterialDialog.SingleButtonCallback() {
+
+ @Override
+ public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
+ intent.putExtra("profile_path",R.drawable.avatar_4);
+ startActivity(intent);
+ }
+ })
+ .show();
+
+ }
+ }
+}
diff --git a/app/src/main/java/com/developervishalsehgal/udacityscholarsapp/ui/coverimage/cover_picture_selection.java b/app/src/main/java/com/developervishalsehgal/udacityscholarsapp/ui/coverimage/cover_picture_selection.java
new file mode 100644
index 00000000..90cb0c21
--- /dev/null
+++ b/app/src/main/java/com/developervishalsehgal/udacityscholarsapp/ui/coverimage/cover_picture_selection.java
@@ -0,0 +1,96 @@
+package com.developervishalsehgal.udacityscholarsapp.ui.coverimage;
+
+import android.content.Intent;
+import android.support.annotation.NonNull;
+import android.support.v7.app.AppCompatActivity;
+import android.os.Bundle;
+import android.view.View;
+
+import com.afollestad.materialdialogs.DialogAction;
+import com.afollestad.materialdialogs.MaterialDialog;
+import com.developervishalsehgal.udacityscholarsapp.R;
+
+public class cover_picture_selection extends AppCompatActivity implements View.OnClickListener{
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_cover_picture_selection);
+ }
+
+ @Override
+ public void onClick(View view) {
+
+ final Intent intent = new Intent(this,com.developervishalsehgal.udacityscholarsapp.ui.profile.UserProfileActivity.class);
+
+ int id = view.getId();
+ if (id == R.id.pic1) {
+
+ new MaterialDialog.Builder(this)
+ .title("Are you sure?")
+ .content("Selected image would be chosen as your new profile picture")
+ .positiveText("YES")
+ .negativeText("NO")
+ .onPositive(new MaterialDialog.SingleButtonCallback() {
+
+ @Override
+ public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
+ intent.putExtra("cover_path",R.drawable.avatar_1);
+ startActivity(intent);
+ }
+ })
+ .show();
+
+ } else if (id == R.id.pic2) {
+ new MaterialDialog.Builder(this)
+ .title("Are you sure?")
+ .content("Selected image would be chosen as your new profile picture")
+ .positiveText("YES")
+ .negativeText("NO")
+ .onPositive(new MaterialDialog.SingleButtonCallback() {
+
+ @Override
+ public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
+ intent.putExtra("cover_path",R.drawable.avatar_2);
+ startActivity(intent);
+ }
+ })
+ .show();
+
+ } else if (id == R.id.pic3) {
+
+ new MaterialDialog.Builder(this)
+ .title("Are you sure?")
+ .content("Selected image would be chosen as your new profile picture")
+ .positiveText("YES")
+ .negativeText("NO")
+ .onPositive(new MaterialDialog.SingleButtonCallback() {
+
+ @Override
+ public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
+ intent.putExtra("cover_path",R.drawable.avatar_3);
+ startActivity(intent);
+ }
+ })
+ .show();
+
+ } else if (id == R.id.pic4) {
+
+ new MaterialDialog.Builder(this)
+ .title("Are you sure?")
+ .content("Selected image would be chosen as your new profile picture")
+ .positiveText("YES")
+ .negativeText("NO")
+ .onPositive(new MaterialDialog.SingleButtonCallback() {
+
+ @Override
+ public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
+ intent.putExtra("cover_path",R.drawable.avatar_4);
+ startActivity(intent);
+ }
+ })
+ .show();
+
+ }
+ }
+}
diff --git a/app/src/main/java/com/developervishalsehgal/udacityscholarsapp/ui/profile/UserProfileActivity.java b/app/src/main/java/com/developervishalsehgal/udacityscholarsapp/ui/profile/UserProfileActivity.java
index 78dd52bb..9f42e6f5 100644
--- a/app/src/main/java/com/developervishalsehgal/udacityscholarsapp/ui/profile/UserProfileActivity.java
+++ b/app/src/main/java/com/developervishalsehgal/udacityscholarsapp/ui/profile/UserProfileActivity.java
@@ -1,19 +1,49 @@
package com.developervishalsehgal.udacityscholarsapp.ui.profile;
+import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.Spinner;
import com.developervishalsehgal.udacityscholarsapp.R;
+
/**
* Profile activity for the app.
*/
-public class UserProfileActivity extends AppCompatActivity implements ProfileContract.View {
+public class UserProfileActivity extends AppCompatActivity implements ProfileContract.View, View.OnClickListener {
+
+ private ImageView profile_picture;
+ private ImageView cover_picture;
+ private Spinner track;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_user_profile);
+
+ profile_picture = findViewById(R.id.profile_picture);
+ cover_picture = findViewById(R.id.header_cover_image);
+ track = findViewById(R.id.spinner);
+
+ Intent sourceIntent = getIntent();
+
+ if (sourceIntent != null) {
+ Bundle params = sourceIntent.getExtras();
+
+ if (params != null ) {
+ if (params.containsKey("profile_path")) {
+ profile_picture.setImageResource(params.getInt("profile_path"));
+ }
+ if (params.containsKey("cover_path")) {
+ profile_picture.setImageResource(params.getInt("cover_path"));
+ }
+ }
+
+ }
+ track.setEnabled(false);
}
@Override
@@ -50,4 +80,23 @@ public void showLoading() {
public void hideLoading() {
}
+
+ @Override
+ public void onClick(View view) {
+
+ int id = view.getId();
+
+ if (id == R.id.profile_picture) {
+
+ Intent intent = new Intent(this,com.developervishalsehgal.udacityscholarsapp.ui.avatars.avatar_selection.class);
+ startActivity(intent);
+
+ } else if (id == R.id.header_cover_image) {
+
+ Intent intent = new Intent(this,com.developervishalsehgal.udacityscholarsapp.ui.coverimage.cover_picture_selection.class);
+ startActivity(intent);
+ } else if (id == R.id.submit_details) {
+ // TODO implement this function to save the changes made to the details
+ }
+ }
}
diff --git a/app/src/main/res/drawable-hdpi/avatar_1.png b/app/src/main/res/drawable-hdpi/avatar_1.png
new file mode 100644
index 00000000..4f07c2d3
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/avatar_1.png differ
diff --git a/app/src/main/res/drawable-hdpi/avatar_2.png b/app/src/main/res/drawable-hdpi/avatar_2.png
new file mode 100644
index 00000000..a1dd6719
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/avatar_2.png differ
diff --git a/app/src/main/res/drawable-hdpi/avatar_3.png b/app/src/main/res/drawable-hdpi/avatar_3.png
new file mode 100644
index 00000000..4500b5d8
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/avatar_3.png differ
diff --git a/app/src/main/res/drawable-hdpi/avatar_4.png b/app/src/main/res/drawable-hdpi/avatar_4.png
new file mode 100644
index 00000000..3840f9e5
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/avatar_4.png differ
diff --git a/app/src/main/res/drawable-hdpi/desert.png b/app/src/main/res/drawable-hdpi/desert.png
new file mode 100644
index 00000000..86a7ba18
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/desert.png differ
diff --git a/app/src/main/res/drawable-hdpi/stars.png b/app/src/main/res/drawable-hdpi/stars.png
new file mode 100644
index 00000000..eb7a7b1d
Binary files /dev/null and b/app/src/main/res/drawable-hdpi/stars.png differ
diff --git a/app/src/main/res/drawable-mdpi/avatar_1.png b/app/src/main/res/drawable-mdpi/avatar_1.png
new file mode 100644
index 00000000..9a0735fd
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/avatar_1.png differ
diff --git a/app/src/main/res/drawable-mdpi/avatar_2.png b/app/src/main/res/drawable-mdpi/avatar_2.png
new file mode 100644
index 00000000..99ff5f53
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/avatar_2.png differ
diff --git a/app/src/main/res/drawable-mdpi/avatar_3.png b/app/src/main/res/drawable-mdpi/avatar_3.png
new file mode 100644
index 00000000..34c28d29
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/avatar_3.png differ
diff --git a/app/src/main/res/drawable-mdpi/avatar_4.png b/app/src/main/res/drawable-mdpi/avatar_4.png
new file mode 100644
index 00000000..309af877
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/avatar_4.png differ
diff --git a/app/src/main/res/drawable-mdpi/desert.png b/app/src/main/res/drawable-mdpi/desert.png
new file mode 100644
index 00000000..162fd742
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/desert.png differ
diff --git a/app/src/main/res/drawable-mdpi/stars.png b/app/src/main/res/drawable-mdpi/stars.png
new file mode 100644
index 00000000..841c66de
Binary files /dev/null and b/app/src/main/res/drawable-mdpi/stars.png differ
diff --git a/app/src/main/res/drawable-xhdpi/avatar_1.png b/app/src/main/res/drawable-xhdpi/avatar_1.png
new file mode 100644
index 00000000..4275f1ac
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/avatar_1.png differ
diff --git a/app/src/main/res/drawable-xhdpi/avatar_2.png b/app/src/main/res/drawable-xhdpi/avatar_2.png
new file mode 100644
index 00000000..6ca6cf0c
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/avatar_2.png differ
diff --git a/app/src/main/res/drawable-xhdpi/avatar_3.png b/app/src/main/res/drawable-xhdpi/avatar_3.png
new file mode 100644
index 00000000..93a6edbe
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/avatar_3.png differ
diff --git a/app/src/main/res/drawable-xhdpi/avatar_4.png b/app/src/main/res/drawable-xhdpi/avatar_4.png
new file mode 100644
index 00000000..202f056c
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/avatar_4.png differ
diff --git a/app/src/main/res/drawable-xhdpi/desert.png b/app/src/main/res/drawable-xhdpi/desert.png
new file mode 100644
index 00000000..9e9bfed6
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/desert.png differ
diff --git a/app/src/main/res/drawable-xhdpi/stars.png b/app/src/main/res/drawable-xhdpi/stars.png
new file mode 100644
index 00000000..bfcc85af
Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/stars.png differ
diff --git a/app/src/main/res/layout/activity_avatar_selection.xml b/app/src/main/res/layout/activity_avatar_selection.xml
new file mode 100644
index 00000000..20c49778
--- /dev/null
+++ b/app/src/main/res/layout/activity_avatar_selection.xml
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_cover_picture_selection.xml b/app/src/main/res/layout/activity_cover_picture_selection.xml
new file mode 100644
index 00000000..8f66c792
--- /dev/null
+++ b/app/src/main/res/layout/activity_cover_picture_selection.xml
@@ -0,0 +1,60 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/activity_user_profile.xml b/app/src/main/res/layout/activity_user_profile.xml
index 9ab6ff07..8e058085 100644
--- a/app/src/main/res/layout/activity_user_profile.xml
+++ b/app/src/main/res/layout/activity_user_profile.xml
@@ -1,5 +1,11 @@
-
+
+
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index ba8fcb0b..aa2e5f82 100755
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -13,4 +13,19 @@
Close navigation drawer
Email address
********
+
+
+ Shubham
+ \@shubham
+ shubham@android.com
+ submit
+
+
+
+ - Android Developer Track
+ - Android Basic Track
+ - Website Designing Track
+
+
+