From 75376bf7fa29e4d1d60935e02d784ff6e7afdaa4 Mon Sep 17 00:00:00 2001 From: Amartya Mondal Date: Thu, 20 Jun 2019 11:43:29 +0530 Subject: [PATCH] Make master branch more stable (#234) * Change profile photo update progress bar * Added Label for Edittext * added margin * Cache skip in Glide * Edit Profile back button handled * feat: Implement group notificatio * feat: Implement change password api * Added Utils class * reformat lines spacing * typo fix * Removed unnecessary toast * feat: Implement resend OTP API * feat: Refactor logout, unsubscribe notification * reformat spacing * Added back button in otp activity * Removed back button in Login page * feat: Handle offline mode in login signup * Handled empty edittext * fix: Display employment type * changed some fields * View fullscreen gallery image * Add signup error dialog * empty edittext * Fixed Nav issue on back pressed * Handle back from profile page * Add scrollview * Handled Orientation Change in Fragments * Updated Retrofit link (#202) * Added Videos Fragment (#203) * feat: Implement forgot password feature (#206) * Enhance UI of event details page (#208) * Visibility in View Profile incase of empty fields (#209) * feat: Add videos of saar (#211) * remove toast (#215) * Added Square Logo (#216) * fix: skip press issue in login page (#218) * Enhance ui of video fragment (#219) * Revert "fix: skip press issue in login page (#218)" (#220) This reverts commit 88f8666eb385d8f84cb011525d1c89f3b6ab35da. * fix: Few UI improvements (#222) * UI fix in Change password * Improved login UI * Otp pin (#223) * Clear otp pinview * Fix errors * remove log messages (#225) * remove log statements * fix team fragment * Update changes * Update changes * Mainactivity as opening screen (#230) * patch: CircleImageView issue (#231) * Encoded Bitmap * Improved Homepage and nav header * fix: Check Permission properly (#227) * Check Permission properly * recheck permission * feat: Implement skip login feature (#233) --- .DS_Store | Bin 0 -> 6148 bytes app/.DS_Store | Bin 0 -> 6148 bytes app/build.gradle | 1 + app/src/main/AndroidManifest.xml | 15 +- .../ChangeCredentialsActivity.java | 3 + .../ChangeEmailFragment.java | 27 +- .../ChangePasswordFragment.java | 137 ++++++++- .../ForgotPasswordFragment.java | 109 ++++++- .../main/java/com/example/saar/Constant.java | 11 +- .../saar/Gallery/FullScreenImageActivity.java | 59 ++++ .../example/saar/Gallery/GalleryAdapter.java | 12 +- .../com/example/saar/Home/HomeFragment.java | 6 +- .../saar/Login_SignUp/LoginFragment.java | 10 +- .../Login_SignUp/LoginSignupActivity.java | 12 +- .../saar/Login_SignUp/SignUpFragment.java | 52 +++- .../java/com/example/saar/MainActivity.java | 102 +++---- .../Notifications/FcmMessagingService.java | 9 +- .../java/com/example/saar/OtpActivity.java | 114 ++++++- .../saar/Profile/EditProfileFragment.java | 80 ++++- .../example/saar/Profile/ProfileActivity.java | 1 + .../saar/Profile/ViewProfileFragment.java | 145 ++++++--- .../example/saar/Retrofit/GetDataService.java | 6 +- .../com/example/saar/Team/TeamFragment.java | 11 +- .../java/com/example/saar/Utils/Utils.java | 94 ++++++ .../example/saar/Video/VideosFragment.java | 58 ++++ app/src/main/res/drawable/edittext_box.xml | 21 +- .../drawable/ic_access_alarm_black_24dp.xml | 9 + .../res/drawable/ic_date_range_black_24dp.xml | 9 + .../drawable/ic_ondemand_video_black_24dp.xml | 9 + .../res/drawable/ic_play_arrow_black_24dp.xml | 5 + .../res/drawable/ic_warning_black_24dp.xml | 9 + app/src/main/res/drawable/marker.xml | 12 + app/src/main/res/drawable/raghu.jpeg | Bin 0 -> 55763 bytes app/src/main/res/drawable/video_img1.jpg | Bin 0 -> 11494 bytes app/src/main/res/drawable/video_img2.jpg | Bin 0 -> 25572 bytes .../res/layout/activity_event_details.xml | 177 ++++++----- .../res/layout/activity_full_screen_image.xml | 14 + app/src/main/res/layout/activity_otp.xml | 145 ++++----- app/src/main/res/layout/event_list_row.xml | 69 +++-- .../main/res/layout/fragment_change_email.xml | 280 +++++++++--------- .../res/layout/fragment_change_password.xml | 226 +++++++------- app/src/main/res/layout/fragment_donate.xml | 62 ++-- .../main/res/layout/fragment_edit_profile.xml | 232 +++++++++------ .../res/layout/fragment_forgot_password.xml | 199 +++++++------ app/src/main/res/layout/fragment_gallery.xml | 2 +- app/src/main/res/layout/fragment_home.xml | 9 +- app/src/main/res/layout/fragment_login.xml | 249 ++++++++-------- app/src/main/res/layout/fragment_share.xml | 47 ++- app/src/main/res/layout/fragment_sign_up.xml | 10 - app/src/main/res/layout/fragment_timeline.xml | 4 +- app/src/main/res/layout/fragment_videos.xml | 144 +++++++++ .../main/res/layout/fragment_view_profile.xml | 83 ++++-- .../main/res/layout/signup_error_dialog.xml | 51 ++++ .../main/res/menu/activity_main_drawer.xml | 6 +- app/src/main/res/menu/main.xml | 5 + .../mipmap-hdpi/ic_launcher_saar_square.png | Bin 0 -> 4381 bytes .../mipmap-mdpi/ic_launcher_saar_square.png | Bin 0 -> 2210 bytes .../mipmap-xhdpi/ic_launcher_saar_square.png | Bin 0 -> 6979 bytes .../mipmap-xxhdpi/ic_launcher_saar_square.png | Bin 0 -> 14104 bytes .../ic_launcher_saar_square.png | Bin 0 -> 23089 bytes app/src/main/res/values/colors.xml | 4 +- app/src/main/res/values/dimens.xml | 21 +- app/src/main/res/values/strings.xml | 30 +- app/src/main/res/values/styles.xml | 1 - 64 files changed, 2214 insertions(+), 1004 deletions(-) create mode 100644 .DS_Store create mode 100644 app/.DS_Store create mode 100644 app/src/main/java/com/example/saar/Gallery/FullScreenImageActivity.java create mode 100644 app/src/main/java/com/example/saar/Utils/Utils.java create mode 100644 app/src/main/java/com/example/saar/Video/VideosFragment.java create mode 100644 app/src/main/res/drawable/ic_access_alarm_black_24dp.xml create mode 100644 app/src/main/res/drawable/ic_date_range_black_24dp.xml create mode 100644 app/src/main/res/drawable/ic_ondemand_video_black_24dp.xml create mode 100644 app/src/main/res/drawable/ic_play_arrow_black_24dp.xml create mode 100644 app/src/main/res/drawable/ic_warning_black_24dp.xml create mode 100644 app/src/main/res/drawable/marker.xml create mode 100644 app/src/main/res/drawable/raghu.jpeg create mode 100644 app/src/main/res/drawable/video_img1.jpg create mode 100644 app/src/main/res/drawable/video_img2.jpg create mode 100644 app/src/main/res/layout/activity_full_screen_image.xml create mode 100644 app/src/main/res/layout/fragment_videos.xml create mode 100644 app/src/main/res/layout/signup_error_dialog.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher_saar_square.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher_saar_square.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher_saar_square.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher_saar_square.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher_saar_square.png diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..211732cb793ffdccc6f0f8e6d25f3484bb77b03c GIT binary patch literal 6148 zcmeHK%}T>S5Z-O8ZYyFBf<5Nqt%nx-a}q+V2X8_|4=Qa!iVf5xG^s&rB(I@w*rxO{nQ=z!XKx@`rdIEB#s}9XENFM#t?FS=?7kzTH!qKVmXhk970q@by#mK7M*Ul zX>@x1tZ6Lz{TAqly)3JW{e$+=>FDm^aq*NrzbJk=&@W|IV*#(A=<@FESuhQQTNo*# zizq^3fEXYKh=H|YKpz8Qd#$RbVu=A_;3o{={$M~uG&SZ5<<%JYRnblEI2OH0qG(j389V{_yq<&0AL|c)Bpeg literal 0 HcmV?d00001 diff --git a/app/.DS_Store b/app/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..85e8888d7e39d63a8413ad1f1290448b2aeb6977 GIT binary patch literal 6148 zcmeHKF;2rk5S&W_1VIrYBq&|d1c{o)ib6rn2OtTGKn5d6rgp<0_yX_a0WiCJ3h{-s z2+*#zJLkLEU3nb&asa}po}B>$0DZb(XP4m{lXdYm>%^IDV$d3QctCMkl+#JE#`cNd zsDQk?9o*oF*C|%sUpe85{4CDtCm(7Y0b7`$CbPiI-gJxky29N5VzTxe75mJXcbnwB zB^?gQEqTp_iy;<_6`t91%F%+g?iouww(EqWq|O1KsnR+%J6G&IWURHSRMFL>#!FJ8 z%T5)h3F|#!@z%{1a0Og}KcoQnY_a~Hp+{H16>tTX3dr{%qYLH{8$-v|y=3OAYae5iFhaS>)vr8$(M+h=-35JBN5e3EG|YGo>Tsh8|r3 zSD>vx*KP;0|6goA|F@I;&J}P4{*?luH@+H=_(*YYU3)m$Ycu*aT}*h5;WC8--HOST dt@xO(#`#PJ#5`hS$Qhdd5l|UCxB@?_z$gBOV^078 literal 0 HcmV?d00001 diff --git a/app/build.gradle b/app/build.gradle index db147bd..ff84a83 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -42,4 +42,5 @@ dependencies { implementation 'com.android.volley:volley:1.1.1' implementation 'com.jakewharton.timber:timber:4.7.0' implementation 'com.github.GoodieBag:Pinview:v1.3' + implementation 'com.github.chrisbanes:PhotoView:2.1.3' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8981784..973d2c9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -18,20 +18,25 @@ android:theme="@style/AppTheme"> - + android:theme="@style/AppTheme.NoActionBar"> + + () { + + @Override + public void onResponse(String response) { + Timber.d(response); + progressDialog.dismiss(); + try { + JSONObject jsonObject = new JSONObject(response); + int status = Integer.parseInt(jsonObject.getString("status")); + if (status == 207) { + Toast.makeText(getContext(), getString(R.string.change_password_succesfull), Toast.LENGTH_LONG).show(); + if(preferences.getBoolean(Constant.LOGIN_STATUS,false)){ + Utils.unsuscribeFromNotification(preferences.getString(Constant.ROLLNO, "")); + Utils.logout(editor, getContext()); + }else{ + Intent intent = new Intent(getContext(), LoginSignupActivity.class); + startActivity(intent); + } + + } else { + + JSONArray jsonArray = jsonObject.getJSONArray("messages"); + Toast.makeText(getActivity(), jsonArray.toString(), Toast.LENGTH_LONG).show(); + Timber.d(jsonArray.toString()); + } + + } catch (JSONException e) { + e.printStackTrace(); + } + } + }, new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + progressDialog.dismiss(); + Timber.d(error.toString()); + } + + }) { + protected Map getParams() throws AuthFailureError { + Map params = new HashMap(); + + params.put("old_password", old_password.getText().toString()); + params.put("new_password", new_password.getText().toString()); + params.put("confirm_password", confirm_new_password.getText().toString()); + if(forgot_password){ + params.put("forgot_password","forgot_password"); + params.put("rollno",rollno); + }else{ + params.put("rollno", preferences.getString(Constant.ROLLNO, "")); + } + return params; + } + }; + stringRequest.setRetryPolicy(new DefaultRetryPolicy( + 10000, + DefaultRetryPolicy.DEFAULT_MAX_RETRIES, + DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); + + RequestQueue requestQueue = Volley.newRequestQueue(getContext()); + Request data = requestQueue.add(stringRequest); } } diff --git a/app/src/main/java/com/example/saar/ChangeCredentials/ForgotPasswordFragment.java b/app/src/main/java/com/example/saar/ChangeCredentials/ForgotPasswordFragment.java index f977261..404a92a 100644 --- a/app/src/main/java/com/example/saar/ChangeCredentials/ForgotPasswordFragment.java +++ b/app/src/main/java/com/example/saar/ChangeCredentials/ForgotPasswordFragment.java @@ -1,5 +1,7 @@ package com.example.saar.ChangeCredentials; +import android.app.ProgressDialog; +import android.content.Intent; import android.os.Bundle; import android.support.annotation.NonNull; import android.support.annotation.Nullable; @@ -7,21 +9,126 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; +import com.android.volley.AuthFailureError; +import com.android.volley.DefaultRetryPolicy; +import com.android.volley.Request; +import com.android.volley.RequestQueue; +import com.android.volley.Response; +import com.android.volley.VolleyError; +import com.android.volley.toolbox.StringRequest; +import com.android.volley.toolbox.Volley; +import com.example.saar.Constant; +import com.example.saar.OtpActivity; import com.example.saar.R; +import com.example.saar.Utils.Utils; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; + +import java.util.HashMap; +import java.util.Map; + +import timber.log.Timber; public class ForgotPasswordFragment extends Fragment { + EditText email, rollno; + Button forgotPassword; + ProgressDialog progressDialog; + @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_forgot_password, container, false); + View rootView = inflater.inflate(R.layout.fragment_forgot_password, container, false); + email = rootView.findViewById(R.id.email_text_forgot_password); + rollno = rootView.findViewById(R.id.roll_text_forgot_password); + forgotPassword = rootView.findViewById(R.id.forgot_password_button); + return rootView; } @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); getActivity().setTitle(R.string.forgot_password); + + forgotPassword.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + String email_text = email.getText().toString(); + String rollno_text = rollno.getText().toString(); + if (email_text.isEmpty() || rollno_text.isEmpty()) + Toast.makeText(getContext(), getResources().getString(R.string.enter_all_fields), Toast.LENGTH_LONG).show(); + else if (Utils.isNetworkConnected(getContext())) + requestDatas(); + else + Toast.makeText(getContext(), getString(R.string.no_internet), Toast.LENGTH_LONG).show(); + } + }); + } + + private void requestDatas() { + Utils.closeKeyboard(getView(), getContext()); + progressDialog = new ProgressDialog(getContext()); + progressDialog.setMessage("Requesting...."); + progressDialog.show(); + StringRequest stringRequest = new StringRequest(Request.Method.POST, Constant.FORGOT_PASSWORD_URL, new Response.Listener() { + + @Override + public void onResponse(String response) { + Timber.d(response); + progressDialog.dismiss(); + try { + JSONObject jsonObject = new JSONObject(response); + int status = Integer.parseInt(jsonObject.getString("status")); + + if (status == 204) { + Timber.d(getString(R.string.success_forgot_password_request)); + Toast.makeText(getContext(), getString(R.string.success_forgot_password_request), Toast.LENGTH_LONG).show(); + + Intent intent = new Intent(getContext(), OtpActivity.class); + intent.putExtra("rollno", rollno.getText().toString()); + intent.putExtra("forgot_password", "forgot_password"); + startActivity(intent); + } else { + Timber.d(getString(R.string.error_Forgot_password)); + JSONArray jsonArray = jsonObject.getJSONArray("messages"); + Toast.makeText(getContext(), jsonArray.toString(), Toast.LENGTH_LONG).show(); + Timber.d(jsonArray.toString()); + } + + } catch (JSONException e) { + e.printStackTrace(); + } + } + }, new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + //otp_progress.setVisibility(View.GONE); + progressDialog.dismiss(); + Toast.makeText(getContext(), error.getLocalizedMessage(), Toast.LENGTH_LONG).show(); + Timber.d(error.toString()); + } + + }) { + protected Map getParams() throws AuthFailureError { + Map params = new HashMap(); + params.put("email", email.getText().toString()); + params.put("rollno", rollno.getText().toString()); + return params; + } + }; + stringRequest.setRetryPolicy(new DefaultRetryPolicy( + 10000, + DefaultRetryPolicy.DEFAULT_MAX_RETRIES, + DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); + + RequestQueue requestQueue = Volley.newRequestQueue(getContext()); + Request data = requestQueue.add(stringRequest); } } diff --git a/app/src/main/java/com/example/saar/Constant.java b/app/src/main/java/com/example/saar/Constant.java index f7a1292..e157acc 100644 --- a/app/src/main/java/com/example/saar/Constant.java +++ b/app/src/main/java/com/example/saar/Constant.java @@ -8,13 +8,16 @@ public class Constant { public static final String YOUTUBE_LINK = "https://www.youtube.com/channel/UCoAb1YggffbfgVxQyXaZB-g"; public static final String WEBSITE_LINK = "https://saar.iitp.ac.in/"; public static final String DONATE_LINK = "https://www.onlinesbi.com/sbicollect/icollecthome.htm"; - public static final String BASE_URL = "https://atm1504.in"; + public static final String BASE_URL = "https://saar-server.000webhostapp.com"; public static final String LOGIN_URL = "https://saar-server.000webhostapp.com/functions/login.php"; public static final String OTP_URL = "https://saar-server.000webhostapp.com/functions/verifyOTP.php"; public static final String SIGNUP_URL = "https://saar-server.000webhostapp.com/functions/signup.php"; public static final String CHANGE_EMAIL_URL = "https://saar-server.000webhostapp.com/functions/changeEmail.php"; public static final String UPDATE_PROFILE_URL = "https://saar-server.000webhostapp.com/functions/updateProfile.php"; - public static final String UPDATE_PROFILE_IMAGE = "https://saar-server.000webhostapp.com/functions/profile_image.php"; + public static final String UPDATE_PROFILE_IMAGE_URL = "https://saar-server.000webhostapp.com/functions/profile_image.php"; + public static final String CHANGE_PASSWORD_URL = "https://saar-server.000webhostapp.com/functions/changePassword.php"; + public static final String RESEND_OTP_URL = "https://saar-server.000webhostapp.com/functions/resendOTP.php"; + public static final String FORGOT_PASSWORD_URL = "https://saar-server.000webhostapp.com/functions/forgotPassword.php"; //Store user profile data public static final String LOGIN_STATUS = "login_status"; @@ -39,4 +42,8 @@ public class Constant { public static final String ACHIEVEMENTS = "achievements"; public static final String IMG_URL = "img_url"; + //Utility Constants + public static final String SUBSCRIBE_NOTIFICATION = "subscribe_notification"; + public static final String SKIP_LOGIN = "skip_login"; + } diff --git a/app/src/main/java/com/example/saar/Gallery/FullScreenImageActivity.java b/app/src/main/java/com/example/saar/Gallery/FullScreenImageActivity.java new file mode 100644 index 0000000..d92c86d --- /dev/null +++ b/app/src/main/java/com/example/saar/Gallery/FullScreenImageActivity.java @@ -0,0 +1,59 @@ +package com.example.saar.Gallery; + +import android.graphics.drawable.ColorDrawable; +import android.os.Build; +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.view.KeyEvent; +import android.view.MenuItem; +import android.view.Window; +import android.view.WindowManager; + +import com.bumptech.glide.Glide; +import com.example.saar.R; +import com.github.chrisbanes.photoview.PhotoView; + +public class FullScreenImageActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.activity_full_screen_image); + + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + getSupportActionBar().setDisplayShowHomeEnabled(true); + + getSupportActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.black))); + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { + Window window = getWindow(); + window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); + window.setStatusBarColor(getResources().getColor(R.color.black)); + } + + PhotoView image = findViewById(R.id.imageViewPhoto); + + String url = getIntent().getStringExtra("image_url"); + + Glide.with(this).load(url) + .error(R.drawable.placeholder_image) + .into(image); + + } + + public boolean onOptionsItemSelected(MenuItem item) { + int id = item.getItemId(); + if (id == android.R.id.home) { + onBackPressed(); + } + return super.onOptionsItemSelected(item); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if ((keyCode == KeyEvent.KEYCODE_BACK)) { + finish(); + } + return super.onKeyDown(keyCode, event); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/example/saar/Gallery/GalleryAdapter.java b/app/src/main/java/com/example/saar/Gallery/GalleryAdapter.java index fa482de..c763e7d 100644 --- a/app/src/main/java/com/example/saar/Gallery/GalleryAdapter.java +++ b/app/src/main/java/com/example/saar/Gallery/GalleryAdapter.java @@ -1,6 +1,7 @@ package com.example.saar.Gallery; import android.content.Context; +import android.content.Intent; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; @@ -15,7 +16,7 @@ public class GalleryAdapter extends RecyclerView.Adapter { - private List photoList; + private static List photoList; private Context context; public GalleryAdapter(List photoList) { @@ -53,6 +54,15 @@ public class GalleryViewHolder extends RecyclerView.ViewHolder { public GalleryViewHolder(View view) { super(view); imageView = view.findViewById(R.id.imageview_gallery); + + imageView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + Intent intent = new Intent(context, FullScreenImageActivity.class); + intent.putExtra("image_url", GalleryAdapter.photoList.get(getLayoutPosition()).getImage_url()); + context.startActivity(intent); + } + }); } } } diff --git a/app/src/main/java/com/example/saar/Home/HomeFragment.java b/app/src/main/java/com/example/saar/Home/HomeFragment.java index 54e45f0..83cabab 100644 --- a/app/src/main/java/com/example/saar/Home/HomeFragment.java +++ b/app/src/main/java/com/example/saar/Home/HomeFragment.java @@ -12,6 +12,7 @@ import android.widget.TextView; import com.example.saar.About.AboutUsFragment; +import com.example.saar.ChangeCredentials.ForgotPasswordFragment; import com.example.saar.Contact.ContactFragment; import com.example.saar.Donate.DonateFragment; import com.example.saar.Gallery.GalleryFragment; @@ -24,7 +25,10 @@ public class HomeFragment extends Fragment implements View.OnClickListener { public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment - return inflater.inflate(R.layout.fragment_home, container, false); + View rootView = inflater.inflate(R.layout.fragment_home, container, false); + rootView.findViewById(R.id.homepage_abhinav_civ).setLayerType(View.LAYER_TYPE_SOFTWARE, null); + rootView.findViewById(R.id.homepage_vivek_civ).setLayerType(View.LAYER_TYPE_SOFTWARE, null); + return rootView; } @Override diff --git a/app/src/main/java/com/example/saar/Login_SignUp/LoginFragment.java b/app/src/main/java/com/example/saar/Login_SignUp/LoginFragment.java index adcc941..749b6e0 100644 --- a/app/src/main/java/com/example/saar/Login_SignUp/LoginFragment.java +++ b/app/src/main/java/com/example/saar/Login_SignUp/LoginFragment.java @@ -7,7 +7,6 @@ import android.preference.PreferenceManager; import android.support.annotation.Nullable; import android.support.v4.app.Fragment; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -29,6 +28,7 @@ import com.example.saar.MainActivity; import com.example.saar.OtpActivity; import com.example.saar.R; +import com.example.saar.Utils.Utils; import org.json.JSONArray; import org.json.JSONException; @@ -87,6 +87,8 @@ public void onClick(View v) { skipLogin.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + sharedPreferenceEditor.putBoolean(Constant.SKIP_LOGIN,true); + sharedPreferenceEditor.apply(); Intent intent = new Intent(getActivity(), MainActivity.class); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); @@ -110,13 +112,17 @@ private void getDatas() { if (email.isEmpty() || password.isEmpty()) { Toast.makeText(getContext(), getString(R.string.credential_empty), Toast.LENGTH_LONG).show(); - } else { + } else if (Utils.isNetworkConnected(getContext())) { login(); + } else { + Toast.makeText(getContext(), getString(R.string.no_internet), Toast.LENGTH_LONG).show(); } } private void login() { + //closing soft Keyboard using Utils class method + Utils.closeKeyboard(getView(), getContext()); progressDialog = new ProgressDialog(getContext()); progressDialog.setMessage("Logging in...."); progressDialog.show(); diff --git a/app/src/main/java/com/example/saar/Login_SignUp/LoginSignupActivity.java b/app/src/main/java/com/example/saar/Login_SignUp/LoginSignupActivity.java index d3ab4ff..ec2cded 100644 --- a/app/src/main/java/com/example/saar/Login_SignUp/LoginSignupActivity.java +++ b/app/src/main/java/com/example/saar/Login_SignUp/LoginSignupActivity.java @@ -40,9 +40,6 @@ protected void onCreate(@Nullable Bundle savedInstanceState) { BottomNavigationView navigation = findViewById(R.id.bottom_navigation); navigation.setOnNavigationItemSelectedListener(this); - //setting back button in toolbar - getSupportActionBar().setDisplayHomeAsUpEnabled(true); - getSupportActionBar().setDisplayShowHomeEnabled(true); } } @@ -75,18 +72,11 @@ private boolean loadFragment(Fragment fragment) { return false; } - @Override - public boolean onSupportNavigateUp() { - //handle back button action - onBackPressed(); - return true; - } - @Override public void onBackPressed() { super.onBackPressed(); Intent intent = new Intent(getApplicationContext(), MainActivity.class); + intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); - finish(); } } diff --git a/app/src/main/java/com/example/saar/Login_SignUp/SignUpFragment.java b/app/src/main/java/com/example/saar/Login_SignUp/SignUpFragment.java index fc6cfa5..cb2a66f 100644 --- a/app/src/main/java/com/example/saar/Login_SignUp/SignUpFragment.java +++ b/app/src/main/java/com/example/saar/Login_SignUp/SignUpFragment.java @@ -1,7 +1,9 @@ package com.example.saar.Login_SignUp; import android.app.DatePickerDialog; +import android.app.Dialog; import android.app.ProgressDialog; +import android.content.Context; import android.content.Intent; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; @@ -11,12 +13,12 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.view.Window; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; import android.widget.DatePicker; import android.widget.EditText; -import android.widget.ProgressBar; import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; @@ -32,6 +34,7 @@ import com.example.saar.Constant; import com.example.saar.OtpActivity; import com.example.saar.R; +import com.example.saar.Utils.Utils; import org.json.JSONArray; import org.json.JSONException; @@ -41,6 +44,7 @@ import java.util.HashMap; import java.util.Map; +import okhttp3.internal.Util; import timber.log.Timber; public class SignUpFragment extends Fragment { @@ -50,7 +54,7 @@ public class SignUpFragment extends Fragment { TextView errorsDisplay; Spinner spinnerGraduationYear, spinnerEmploymentType, spinnerDegree, spinnerDepartment; DatePickerDialog.OnDateSetListener setListener; - Button signupButton; + Button signupButton, errorOkButton; int year, month, day; String rollno, first_name, last_name, email, phone, fb_link, linkedin_link, password, confirm_password, dob, graduation_year, degree, department; String employment_type, present_employer, designation, address, country, state, city, achievements; @@ -108,9 +112,6 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, city_text = rootView.findViewById(R.id.city_edit); achievements_text = rootView.findViewById(R.id.achievements_edit); - errorsDisplay = rootView.findViewById(R.id.signup_errors); - errorsDisplay.setVisibility(View.GONE); - return rootView; } @@ -184,9 +185,6 @@ public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) { signupButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - progressDialog = new ProgressDialog(getContext()); - progressDialog.setMessage("Registering...."); - progressDialog.show(); getDatas(); } }); @@ -212,10 +210,23 @@ private void getDatas() { city = city_text.getText().toString(); achievements = achievements_text.getText().toString(); - registerUser(); + if (rollno.isEmpty() || first_name.isEmpty() || email.isEmpty() || phone.isEmpty() || + password.isEmpty() || confirm_password.isEmpty()) { + Toast.makeText(getContext(), getResources().getString(R.string.empty_edittext_in_signup), Toast.LENGTH_LONG).show(); + } else if (Utils.isNetworkConnected(getContext())) { + registerUser(); + } else { + Toast.makeText(getContext(), getString(R.string.no_internet), Toast.LENGTH_LONG).show(); + } + } private void registerUser() { + //closing soft Keyboard using Utils class method + Utils.closeKeyboard(getView(), getContext()); + progressDialog = new ProgressDialog(getContext()); + progressDialog.setMessage("Registering...."); + progressDialog.show(); StringRequest stringRequest = new StringRequest(Request.Method.POST, Constant.SIGNUP_URL, new Response.Listener() { @@ -239,9 +250,7 @@ public void onResponse(String response) { JSONArray jsonArray = jsonObject.getJSONArray("messages"); Timber.d(getString(R.string.signup_failed)); - Toast.makeText(getContext(), getString(R.string.signup_failed), Toast.LENGTH_LONG).show(); - errorsDisplay.setVisibility(View.VISIBLE); - errorsDisplay.setText(jsonArray.toString()); + showDialog(getActivity(), jsonArray.toString()); } } catch (JSONException e) { @@ -292,4 +301,23 @@ protected Map getParams() throws AuthFailureError { RequestQueue requestQueue = Volley.newRequestQueue(getContext()); Request data = requestQueue.add(stringRequest); } + + public void showDialog(Context context, String mssg) { + final Dialog dialog = new Dialog(context); + dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); + dialog.setCancelable(false); + dialog.setContentView(R.layout.signup_error_dialog); + + errorsDisplay = dialog.findViewById(R.id.signup_error_text); + errorsDisplay.setText(mssg); + + errorOkButton = dialog.findViewById(R.id.dialog_ok); + errorOkButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + } + }); + dialog.show(); + } } diff --git a/app/src/main/java/com/example/saar/MainActivity.java b/app/src/main/java/com/example/saar/MainActivity.java index 25df3bb..1f07108 100644 --- a/app/src/main/java/com/example/saar/MainActivity.java +++ b/app/src/main/java/com/example/saar/MainActivity.java @@ -4,10 +4,8 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; -import android.net.Uri; import android.os.Bundle; import android.preference.PreferenceManager; -import android.support.annotation.NonNull; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentTransaction; import android.support.design.widget.NavigationView; @@ -36,11 +34,12 @@ import com.example.saar.Share.ShareFragment; import com.example.saar.Team.TeamFragment; import com.example.saar.Timeline_Events.TimelineFragment; -import com.google.android.gms.tasks.OnCompleteListener; -import com.google.android.gms.tasks.Task; +import com.example.saar.Utils.Utils; +import com.example.saar.Video.VideosFragment; import com.google.firebase.messaging.FirebaseMessaging; import de.hdodenhof.circleimageview.CircleImageView; +import timber.log.Timber; public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { @@ -48,9 +47,10 @@ public class MainActivity extends AppCompatActivity //creating fragment object Fragment fragment = null; SharedPreferences preferences; - SharedPreferences.Editor editor; + SharedPreferences.Editor editor, notifications; TextView name, email; CircleImageView circleImageView; + NavigationView navigationView; @Override protected void onCreate(Bundle savedInstanceState) { @@ -60,13 +60,18 @@ protected void onCreate(Bundle savedInstanceState) { setSupportActionBar(toolbar); preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); + + if(!preferences.getBoolean(Constant.LOGIN_STATUS,false) && !preferences.getBoolean(Constant.SKIP_LOGIN,false)){ + startActivity(new Intent(this, LoginSignupActivity.class)); + } + DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle( this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.addDrawerListener(toggle); toggle.syncState(); - NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view); + navigationView = (NavigationView) findViewById(R.id.nav_view); Menu nav_item = navigationView.getMenu(); if (preferences.getBoolean(Constant.LOGIN_STATUS, false)) nav_item.findItem(R.id.nav_profile).setVisible(true); @@ -84,6 +89,7 @@ protected void onCreate(Bundle savedInstanceState) { LinearLayout header = (LinearLayout) headerview.findViewById(R.id.nav_layout); name = headerview.findViewById(R.id.nav_header_name); email = headerview.findViewById(R.id.nav_header_email); + header.setLayerType(View.LAYER_TYPE_SOFTWARE, null); circleImageView = headerview.findViewById(R.id.nav_header_image); setHeaderData(); header.setOnClickListener(new View.OnClickListener() { @@ -105,20 +111,27 @@ public void onClick(View v) { } private void subscribeForNotification() { - FirebaseMessaging.getInstance().subscribeToTopic("alumnus") - .addOnCompleteListener(new OnCompleteListener() { - @Override - public void onComplete(@NonNull Task task) { - String msg = getString(R.string.msg_subscribed); - if (!task.isSuccessful()) { - msg = getString(R.string.msg_subscribe_failed); - } - Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show(); - } - }); + notifications = PreferenceManager.getDefaultSharedPreferences(this).edit(); + if (!preferences.getBoolean(Constant.SUBSCRIBE_NOTIFICATION, false)) { + FirebaseMessaging.getInstance().subscribeToTopic("alumnus"); + if (preferences.getBoolean(Constant.LOGIN_STATUS, false)) { + String rollno = preferences.getString(Constant.ROLLNO, ""); + + String batch = Utils.getBatch(rollno); + String department = Utils.getDepartment(rollno); + FirebaseMessaging.getInstance().subscribeToTopic(batch); + FirebaseMessaging.getInstance().subscribeToTopic(department); + } + + notifications.putBoolean(Constant.SUBSCRIBE_NOTIFICATION, true); + notifications.apply(); + Toast.makeText(MainActivity.this, getString(R.string.msg_subscribed), Toast.LENGTH_SHORT).show(); + Timber.d("Subscribed to notification."); + } } private void showHomeFragment() { + navigationView.setCheckedItem(R.id.nav_home); fragment = new HomeFragment(); FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); ft.replace(R.id.content_frame, fragment); @@ -143,17 +156,20 @@ public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); MenuItem login = menu.findItem(R.id.action_login_signup); MenuItem logout = menu.findItem(R.id.action_logout); - MenuItem change_email=menu.findItem(R.id.action_change_email); + MenuItem change_email = menu.findItem(R.id.action_change_email); + MenuItem change_password = menu.findItem(R.id.action_change_password); if (preferences.getBoolean(Constant.LOGIN_STATUS, false)) { //user is logged in login.setVisible(false); logout.setVisible(true); change_email.setVisible(true); + change_password.setVisible(true); } else { //user is not logged in login.setVisible(true); logout.setVisible(false); change_email.setVisible(false); + change_password.setVisible(false); } return true; } @@ -175,9 +191,11 @@ public boolean onOptionsItemSelected(MenuItem item) { .setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { - clearData(); + editor = preferences.edit(); + Utils.unsuscribeFromNotification(preferences.getString(Constant.ROLLNO, "")); + Utils.logout(editor, MainActivity.this); finish(); - startActivity(new Intent(MainActivity.this,LoginSignupActivity.class)); + } }) .setNegativeButton("No", new DialogInterface.OnClickListener() { @@ -191,6 +209,10 @@ public void onClick(DialogInterface dialog, int which) { Intent intent = new Intent(this, ChangeCredentialsActivity.class); intent.putExtra("EXTRA", "openChangeEmail"); startActivity(intent); + } else if (id == R.id.action_change_password) { + Intent intent = new Intent(this, ChangeCredentialsActivity.class); + intent.putExtra("EXTRA", "openChangePassword"); + startActivity(intent); } return super.onOptionsItemSelected(item); @@ -229,11 +251,9 @@ private void displaySelectedScreen(int itemId) { case R.id.nav_share: fragment = new ShareFragment(); break; - case R.id.nav_map: - //opens map app to display IIT Patna Administration Building - Intent intent = new Intent(android.content.Intent.ACTION_VIEW, - Uri.parse("geo:0,0?q=" + getResources().getString(R.string.admin_block))); - startActivity(intent); + case R.id.nav_videos: + fragment = new VideosFragment(); + break; case R.id.nav_contact_us: fragment = new ContactFragment(); break; @@ -263,6 +283,8 @@ private void setHeaderData() { Glide.with(this) .load(preferences.getString(Constant.IMG_URL, "")) .centerCrop() + .diskCacheStrategy(DiskCacheStrategy.NONE) + .skipMemoryCache(true) .placeholder(R.drawable.ic_account_circle_black_48dp) .into(circleImageView); } else { @@ -272,34 +294,4 @@ private void setHeaderData() { circleImageView.setImageResource(R.drawable.ic_account_circle_black_48dp); } } - - private void clearData() { - editor = preferences.edit(); - if (preferences.getBoolean(Constant.LOGIN_STATUS, false)) { - //user is logged in and wants to log out - editor.putBoolean(Constant.LOGIN_STATUS, false); - editor.putString(Constant.ROLLNO, ""); - editor.putString(Constant.FIRST_NAME, ""); - editor.putString(Constant.LAST_NAME, ""); - editor.putString(Constant.EMAIL, ""); - editor.putString(Constant.PHONE, ""); - editor.putString(Constant.FB_LINK, ""); - editor.putString(Constant.LINKEDIN_LINK, ""); - editor.putString(Constant.DOB, ""); - editor.putString(Constant.GRADUATION_YEAR, ""); - editor.putString(Constant.DEGREE, ""); - editor.putString(Constant.DEPARTMENT, ""); - editor.putString(Constant.EMPLOYEMENT_TYPE, ""); - editor.putString(Constant.PRESENT_EMPLOYER, ""); - editor.putString(Constant.DESIGNATION, ""); - editor.putString(Constant.ADDRESS, ""); - editor.putString(Constant.COUNTRY, ""); - editor.putString(Constant.CITY, ""); - editor.putString(Constant.STATE, ""); - editor.putString(Constant.ACHIEVEMENTS, ""); - editor.apply(); - Toast.makeText(this, "Logged Out", Toast.LENGTH_LONG).show(); - } else - Toast.makeText(this, "Not Logged In", Toast.LENGTH_LONG).show(); - } } diff --git a/app/src/main/java/com/example/saar/Notifications/FcmMessagingService.java b/app/src/main/java/com/example/saar/Notifications/FcmMessagingService.java index 96acc1c..c4743d2 100644 --- a/app/src/main/java/com/example/saar/Notifications/FcmMessagingService.java +++ b/app/src/main/java/com/example/saar/Notifications/FcmMessagingService.java @@ -10,21 +10,18 @@ import android.media.RingtoneManager; import android.net.Uri; import android.os.Build; -import android.support.annotation.NonNull; import android.support.v4.app.NotificationCompat; -import android.util.Log; -import android.widget.Toast; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.ImageRequest; import com.example.saar.MainActivity; import com.example.saar.R; -import com.google.android.gms.tasks.OnCompleteListener; -import com.google.firebase.messaging.FirebaseMessaging; import com.google.firebase.messaging.FirebaseMessagingService; import com.google.firebase.messaging.RemoteMessage; +import timber.log.Timber; + public class FcmMessagingService extends FirebaseMessagingService { @Override @@ -91,6 +88,6 @@ public void onErrorResponse(VolleyError error) { @Override public void onNewToken(String token) { super.onNewToken(token); - Log.d("FCMTOKEN", "Token- " + token); + Timber.d("fcmToken - " + token); } } diff --git a/app/src/main/java/com/example/saar/OtpActivity.java b/app/src/main/java/com/example/saar/OtpActivity.java index 60aac27..f7d4869 100644 --- a/app/src/main/java/com/example/saar/OtpActivity.java +++ b/app/src/main/java/com/example/saar/OtpActivity.java @@ -6,10 +6,10 @@ import android.os.CountDownTimer; import android.support.design.widget.FloatingActionButton; import android.support.v7.app.AppCompatActivity; +import android.view.KeyEvent; import android.view.View; import android.widget.Button; import android.widget.EditText; -import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; @@ -21,6 +21,7 @@ import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; +import com.example.saar.ChangeCredentials.ChangeCredentialsActivity; import com.example.saar.Login_SignUp.LoginSignupActivity; import com.goodiebag.pinview.Pinview; @@ -43,20 +44,23 @@ public class OtpActivity extends AppCompatActivity { private int counter; Pinview pinview; FloatingActionButton sendOTP; - String otpValue, rollno; + String otpValue = "", rollno; ProgressDialog progressDialog; + Boolean forgot_password = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_otp); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + getSupportActionBar().setDisplayShowHomeEnabled(true); + pinview = (Pinview) findViewById(R.id.otpView); pinview.setPinViewEventListener(new Pinview.PinViewEventListener() { @Override public void onDataEntered(Pinview pinview, boolean fromUser) { - Toast.makeText(getApplicationContext(), pinview.getValue(), Toast.LENGTH_SHORT).show(); otpValue = pinview.getValue(); } }); @@ -66,18 +70,23 @@ public void onDataEntered(Pinview pinview, boolean fromUser) { timer = (TextView) findViewById(R.id.timer); resend = (Button) findViewById(R.id.resend_button); - setUpTimer(); - //Test case if user wants to verify after some time if (getIntent().hasExtra("rollno")) { rollno = getIntent().getStringExtra("rollno"); getIntent().removeExtra("rollno"); otpRollNo.setVisibility(View.INVISIBLE); otpRollNo.setText(rollno); + setUpTimer(); } else { otpRollNo.setVisibility(View.VISIBLE); + resend.setVisibility(View.VISIBLE); } + if (getIntent().hasExtra("forgot_password")) { + forgot_password = true; + } else { + forgot_password = false; + } //Action to be performed when the sending otp button is pressed sendOTP = (FloatingActionButton) findViewById(R.id.otp_next); sendOTP.setOnClickListener(new View.OnClickListener() { @@ -93,15 +102,87 @@ public void onClick(View v) { } }); + resend.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + resendOTP(); + } + }); + + } + + private void resendOTP() { + rollno = otpRollNo.getText().toString(); + + if (rollno.isEmpty()) { + Toast.makeText(this, getString(R.string.rollno_otp), Toast.LENGTH_LONG).show(); + } else { + for (int i = 0; i < pinview.getPinLength(); i++) { + pinview.onKey(pinview.getFocusedChild(), KeyEvent.KEYCODE_DEL, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL)); + } + final ProgressDialog resendProgressDialog = new ProgressDialog(this); + resendProgressDialog.setMessage("Resending...."); + resendProgressDialog.show(); + StringRequest stringRequest = new StringRequest(Request.Method.POST, Constant.RESEND_OTP_URL, new Response.Listener() { + + @Override + public void onResponse(String response) { + Timber.d(response); + resendProgressDialog.dismiss(); + resend.setVisibility(View.GONE); + setUpTimer(); + try { + JSONObject jsonObject = new JSONObject(response); + int status = Integer.parseInt(jsonObject.getString("status")); + if (status == 201) { + Timber.d(getString(R.string.otp_verified)); + Toast.makeText(OtpActivity.this, getString(R.string.resend_otp_succesfull), Toast.LENGTH_LONG).show(); + otpRollNo.setVisibility(View.GONE); + + } else { + + JSONArray jsonArray = jsonObject.getJSONArray("messages"); + Toast.makeText(OtpActivity.this, jsonArray.toString(), Toast.LENGTH_LONG).show(); + Timber.d(jsonArray.toString()); + } + + } catch (JSONException e) { + e.printStackTrace(); + } + } + }, new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + resendProgressDialog.dismiss(); + Timber.d(error.toString()); + } + + }) { + protected Map getParams() throws AuthFailureError { + Map params = new HashMap(); + params.put("rollno", rollno); + return params; + } + }; + stringRequest.setRetryPolicy(new DefaultRetryPolicy( + 10000, + DefaultRetryPolicy.DEFAULT_MAX_RETRIES, + DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); + + RequestQueue requestQueue = Volley.newRequestQueue(OtpActivity.this); + Request data = requestQueue.add(stringRequest); + } } private void setUpTimer() { - new CountDownTimer(30000, 1000) { + new CountDownTimer(60000, 1000) { public void onTick(long millisUntilFinished) { int time = valueOf(counter); - time = 30 - time; - if (time >= 10) + time = 60 - time; + if (time == 60) + timer.setText("1:00"); + else if (time >= 10) timer.setText("0:" + time); else timer.setText("0:0" + time); @@ -118,11 +199,11 @@ public void onFinish() { public void run() { resend.setVisibility(View.VISIBLE); } - }, 30000); + }, 60000); } private void verifyOTP() { - progressDialog = new ProgressDialog(getBaseContext()); + progressDialog = new ProgressDialog(this); progressDialog.setMessage("Verifying...."); progressDialog.show(); StringRequest stringRequest = new StringRequest(Request.Method.POST, Constant.OTP_URL, new Response.Listener() { @@ -141,11 +222,21 @@ public void onResponse(String response) { intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); + } else if (status == 208) { + Timber.d(getString(R.string.forgot_password_success)); + Intent intent = new Intent(OtpActivity.this, ChangeCredentialsActivity.class); + intent.putExtra("EXTRA", "openChangePassword"); + intent.putExtra("rollno", rollno); + startActivity(intent); + } else { JSONArray jsonArray = jsonObject.getJSONArray("messages"); Toast.makeText(OtpActivity.this, jsonArray.toString(), Toast.LENGTH_LONG).show(); Timber.d(jsonArray.toString()); + for (int i = 0; i < pinview.getPinLength(); i++) { + pinview.onKey(pinview.getFocusedChild(), KeyEvent.KEYCODE_DEL, new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DEL)); + } } } catch (JSONException e) { @@ -164,6 +255,9 @@ protected Map getParams() throws AuthFailureError { Map params = new HashMap(); params.put("rollno", rollno); params.put("verification_code", otpValue); + if (forgot_password) { + params.put("forgot_password", "forgot_password"); + } return params; } }; diff --git a/app/src/main/java/com/example/saar/Profile/EditProfileFragment.java b/app/src/main/java/com/example/saar/Profile/EditProfileFragment.java index c998a3a..6d920e3 100644 --- a/app/src/main/java/com/example/saar/Profile/EditProfileFragment.java +++ b/app/src/main/java/com/example/saar/Profile/EditProfileFragment.java @@ -5,9 +5,11 @@ import android.app.Fragment; import android.app.FragmentTransaction; import android.app.ProgressDialog; +import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; +import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; @@ -16,15 +18,16 @@ import android.support.annotation.Nullable; import android.support.design.widget.FloatingActionButton; import android.support.v4.app.ActivityCompat; +import android.support.v4.content.ContextCompat; import android.util.Base64; -import android.util.Log; +import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Button; -import android.widget.ImageView; +import android.widget.ProgressBar; import android.widget.Spinner; import android.widget.TextView; import android.widget.Toast; @@ -40,7 +43,6 @@ import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.example.saar.Constant; -import com.example.saar.OtpActivity; import com.example.saar.R; import org.json.JSONArray; @@ -59,6 +61,7 @@ public class EditProfileFragment extends Fragment { Spinner spinnerEmploymentType; String employment_type; + Integer employment_type_position; FloatingActionButton change_photo_button; SharedPreferences preferences; SharedPreferences.Editor sharedPreferenceEditor; @@ -70,6 +73,7 @@ public class EditProfileFragment extends Fragment { private static Integer RECORD_REQUEST_CODE = 101; Bitmap myBitmap; ProgressDialog progressDialog; + ProgressBar progressBar; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, @@ -84,6 +88,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, preferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); sharedPreferenceEditor = PreferenceManager.getDefaultSharedPreferences(getActivity()).edit(); + employment_type_position = spinnerEmploymentTypeArrayAdapter.getPosition(preferences.getString(Constant.EMPLOYEMENT_TYPE, "")); + setupViews(rootView); setUpUi(); @@ -115,6 +121,36 @@ public void onClick(View v) { } }); + rootView.setFocusableInTouchMode(true); + rootView.requestFocus(); + + rootView.setOnKeyListener(new View.OnKeyListener() { + @Override + public boolean onKey(View v, int keyCode, KeyEvent event) { + if (event.getAction() == KeyEvent.ACTION_DOWN) { + if (keyCode == KeyEvent.KEYCODE_BACK) { + AlertDialog.Builder alert = new AlertDialog.Builder(getActivity()); + alert.setMessage("Do you want to exit without saving changes?").setCancelable(false) + .setPositiveButton("Yes", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + FragmentTransaction ft = getFragmentManager().beginTransaction(); + ft.replace(R.id.fragment_profile_container, new ViewProfileFragment()); + ft.commit(); + } + }) + .setNegativeButton("No", new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialog, int which) { + dialog.cancel(); + } + }).show(); + return true; + } + } + return false; + } + }); return rootView; } @@ -133,6 +169,7 @@ private void setupViews(View rootView) { state_view = rootView.findViewById(R.id.edit_state); achievements_view = rootView.findViewById(R.id.edit_achievements); change_photo_button = rootView.findViewById(R.id.profile_fab); + progressBar = rootView.findViewById(R.id.edit_profile_photo_progress); } //Function that fills the views with the datas @@ -155,6 +192,7 @@ private void setUpUi() { city_view.setText(preferences.getString(Constant.CITY, "")); state_view.setText(preferences.getString(Constant.STATE, "")); achievements_view.setText(preferences.getString(Constant.ACHIEVEMENTS, "")); + spinnerEmploymentType.setSelection(employment_type_position); } @@ -308,13 +346,23 @@ public void onClick(DialogInterface dialog, } private void getPhotoFromCamera() { - Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); - startActivityForResult(intent, CAMERA); + if (ContextCompat.checkSelfPermission(getActivity().getApplicationContext(), Manifest.permission.CAMERA) + == PackageManager.PERMISSION_DENIED) + makeRequest(); + else { + Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); + startActivityForResult(intent, CAMERA); + } } private void choosePhotoFromGallery() { - Intent galIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); - startActivityForResult(galIntent, GALLERY); + if (ContextCompat.checkSelfPermission(getActivity().getApplicationContext(), Manifest.permission.WRITE_EXTERNAL_STORAGE) + == PackageManager.PERMISSION_DENIED) + makeRequest(); + else { + Intent galIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI); + startActivityForResult(galIntent, GALLERY); + } } @Override @@ -351,15 +399,14 @@ public String getStringImage(Bitmap bmp) { } private void uploadFile() { - - progressDialog = new ProgressDialog(getActivity()); - progressDialog.setMessage("Uploading image...."); - progressDialog.show(); - StringRequest stringRequest = new StringRequest(Request.Method.POST, Constant.UPDATE_PROFILE_IMAGE, new Response.Listener() { + progressBar.setVisibility(View.VISIBLE); + change_photo_button.hide(); + StringRequest stringRequest = new StringRequest(Request.Method.POST, Constant.UPDATE_PROFILE_IMAGE_URL, new Response.Listener() { @Override public void onResponse(String response) { - progressDialog.dismiss(); + progressBar.setVisibility(View.INVISIBLE); + change_photo_button.show(); Toast.makeText(getActivity(), response, Toast.LENGTH_LONG).show(); try { @@ -370,7 +417,7 @@ public void onResponse(String response) { Toast.makeText(getActivity(), getString(R.string.img_upload_success), Toast.LENGTH_LONG).show(); JSONObject mJsonObject = jsonObject.getJSONObject("messages"); SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(getActivity()).edit(); - editor.putString(Constant.IMG_URL,mJsonObject.getString(Constant.IMG_URL)); + editor.putString(Constant.IMG_URL, mJsonObject.getString(Constant.IMG_URL)); editor.apply(); Glide.with(getActivity()) .load(preferences.getString(Constant.IMG_URL, "")) @@ -380,7 +427,7 @@ public void onResponse(String response) { .placeholder(R.drawable.ic_account_circle_black_48dp) .into(profile_image_view); - }else{ + } else { Toast.makeText(getActivity(), getString(R.string.img_upload_failure), Toast.LENGTH_LONG).show(); Timber.d(response); } @@ -394,7 +441,8 @@ public void onResponse(String response) { @Override public void onErrorResponse(VolleyError error) { - progressDialog.dismiss(); + progressBar.setVisibility(View.INVISIBLE); + change_photo_button.show(); Toast.makeText(getActivity(), error.toString(), Toast.LENGTH_LONG).show(); } diff --git a/app/src/main/java/com/example/saar/Profile/ProfileActivity.java b/app/src/main/java/com/example/saar/Profile/ProfileActivity.java index b839653..32fc28a 100644 --- a/app/src/main/java/com/example/saar/Profile/ProfileActivity.java +++ b/app/src/main/java/com/example/saar/Profile/ProfileActivity.java @@ -53,6 +53,7 @@ public boolean onOptionsItemSelected(MenuItem item) { if (id == android.R.id.home) { if (fragment instanceof ViewProfileFragment) { Intent parentIntent1 = new Intent(this, MainActivity.class); + parentIntent1.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(parentIntent1); return true; } else if (fragment instanceof EditProfileFragment) { diff --git a/app/src/main/java/com/example/saar/Profile/ViewProfileFragment.java b/app/src/main/java/com/example/saar/Profile/ViewProfileFragment.java index 64a289f..c34b0f7 100644 --- a/app/src/main/java/com/example/saar/Profile/ViewProfileFragment.java +++ b/app/src/main/java/com/example/saar/Profile/ViewProfileFragment.java @@ -2,30 +2,21 @@ import android.app.Fragment; import android.app.FragmentTransaction; -import android.content.Context; -import android.content.Intent; import android.content.SharedPreferences; -import android.content.res.Resources; -import android.graphics.drawable.Drawable; import android.os.Bundle; import android.preference.PreferenceManager; import android.support.annotation.Nullable; -import android.support.v4.content.ContextCompat; -import android.support.v4.content.res.ResourcesCompat; -import android.support.v7.widget.Toolbar; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; -import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.example.saar.Constant; -import com.example.saar.MainActivity; import com.example.saar.R; import de.hdodenhof.circleimageview.CircleImageView; @@ -34,7 +25,7 @@ public class ViewProfileFragment extends Fragment { CircleImageView profileImage; TextView name, degree, graduation_year, branch, email, rollno, phone, fb_link, linkedin_link; - TextView present_employer, designation, address, country, city, state, achievements; + TextView present_employer, designation, address, country, city, state, achievements, employment_type; SharedPreferences preferences; @Override @@ -44,7 +35,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, View rootView = inflater.inflate(R.layout.fragment_view_profile, container, false); setHasOptionsMenu(true); - preferences=PreferenceManager.getDefaultSharedPreferences(getActivity()); + preferences = PreferenceManager.getDefaultSharedPreferences(getActivity()); setupUI(rootView); @@ -53,23 +44,24 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, private void setupUI(View rootView) { - profileImage=rootView.findViewById(R.id.profile_picture); - name=rootView.findViewById(R.id.profile_name); - degree=rootView.findViewById(R.id.profile_degree); - graduation_year=rootView.findViewById(R.id.profile_graduation_year); - branch=rootView.findViewById(R.id.branch); - email=rootView.findViewById(R.id.email); - rollno=rootView.findViewById(R.id.rollno); - phone=rootView.findViewById(R.id.phone); - fb_link=rootView.findViewById(R.id.fb_link); - linkedin_link=rootView.findViewById(R.id.linkedin_link); - present_employer=rootView.findViewById(R.id.present_employer); - designation=rootView.findViewById(R.id.designation); - address=rootView.findViewById(R.id.address); - country=rootView.findViewById(R.id.country); - city=rootView.findViewById(R.id.city); - state=rootView.findViewById(R.id.state); - achievements=rootView.findViewById(R.id.achievements); + profileImage = rootView.findViewById(R.id.profile_picture); + name = rootView.findViewById(R.id.profile_name); + degree = rootView.findViewById(R.id.profile_degree); + graduation_year = rootView.findViewById(R.id.profile_graduation_year); + branch = rootView.findViewById(R.id.branch); + email = rootView.findViewById(R.id.email); + rollno = rootView.findViewById(R.id.rollno); + phone = rootView.findViewById(R.id.phone); + fb_link = rootView.findViewById(R.id.fb_link); + linkedin_link = rootView.findViewById(R.id.linkedin_link); + present_employer = rootView.findViewById(R.id.present_employer); + employment_type = rootView.findViewById(R.id.employment_type); + designation = rootView.findViewById(R.id.designation); + address = rootView.findViewById(R.id.address); + country = rootView.findViewById(R.id.country); + city = rootView.findViewById(R.id.city); + state = rootView.findViewById(R.id.state); + achievements = rootView.findViewById(R.id.achievements); } @Override @@ -105,27 +97,88 @@ public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { } private void fillDetails() { - if(preferences.getBoolean(Constant.LOGIN_STATUS,false)){ - String full_name=preferences.getString(Constant.FIRST_NAME,"")+ " " + preferences.getString(Constant.LAST_NAME,""); + if (preferences.getBoolean(Constant.LOGIN_STATUS, false)) { + String full_name = preferences.getString(Constant.FIRST_NAME, "") + " " + preferences.getString(Constant.LAST_NAME, ""); name.setText(full_name); - degree.setText(preferences.getString(Constant.DEGREE,"")); - graduation_year.setText(preferences.getString(Constant.GRADUATION_YEAR,"")); - branch.setText(preferences.getString(Constant.DEPARTMENT,"")); - email.setText(preferences.getString(Constant.EMAIL,"")); - rollno.setText(preferences.getString(Constant.ROLLNO,"")); - phone.setText(preferences.getString(Constant.PHONE,"")); - fb_link.setText(preferences.getString(Constant.FB_LINK,"")); - linkedin_link.setText(preferences.getString(Constant.LINKEDIN_LINK,"")); - present_employer.setText(preferences.getString(Constant.PRESENT_EMPLOYER,"")); - designation.setText(preferences.getString(Constant.DESIGNATION,"")); - address.setText(preferences.getString(Constant.ADDRESS,"")); - country.setText(preferences.getString(Constant.COUNTRY,"")); - city.setText(preferences.getString(Constant.CITY,"")); - state.setText(preferences.getString(Constant.STATE,"")); - achievements.setText(preferences.getString(Constant.ACHIEVEMENTS,"")); + degree.setText(preferences.getString(Constant.DEGREE, "")); + graduation_year.setText(preferences.getString(Constant.GRADUATION_YEAR, "")); + branch.setText(preferences.getString(Constant.DEPARTMENT, "")); + email.setText(preferences.getString(Constant.EMAIL, "")); + rollno.setText(preferences.getString(Constant.ROLLNO, "")); + phone.setText(preferences.getString(Constant.PHONE, "")); + + //checking for empty fields + String fb_link_text = preferences.getString(Constant.FB_LINK, ""); + if (fb_link_text.isEmpty()) { + getView().findViewById(R.id.fb_link_layout).setVisibility(View.GONE); + getView().findViewById(R.id.fb_link_line).setVisibility(View.GONE); + } else + fb_link.setText(fb_link_text); + + String linkedin_link_text = preferences.getString(Constant.LINKEDIN_LINK, ""); + if (linkedin_link_text.isEmpty()) { + getView().findViewById(R.id.linkedin_link_layout).setVisibility(View.GONE); + getView().findViewById(R.id.linkedin_link_line).setVisibility(View.GONE); + } else + linkedin_link.setText(linkedin_link_text); + + String present_employer_text = preferences.getString(Constant.PRESENT_EMPLOYER, ""); + if (present_employer_text.isEmpty()) { + getView().findViewById(R.id.present_employer_layout).setVisibility(View.GONE); + getView().findViewById(R.id.present_employer_line).setVisibility(View.GONE); + } else + present_employer.setText(present_employer_text); + + String employment_type_text = preferences.getString(Constant.EMPLOYEMENT_TYPE, ""); + if (employment_type_text.isEmpty()) { + getView().findViewById(R.id.employment_type_layout).setVisibility(View.GONE); + getView().findViewById(R.id.employment_type_line).setVisibility(View.GONE); + } else + employment_type.setText(employment_type_text); + + String designation_text = preferences.getString(Constant.DESIGNATION, ""); + if (designation_text.isEmpty()) { + getView().findViewById(R.id.designation_layout).setVisibility(View.GONE); + getView().findViewById(R.id.designation_line).setVisibility(View.GONE); + } else + designation.setText(designation_text); + + String address_text = preferences.getString(Constant.ADDRESS, ""); + if (address_text.isEmpty()) { + getView().findViewById(R.id.address_layout).setVisibility(View.GONE); + getView().findViewById(R.id.address_line).setVisibility(View.GONE); + } else + address.setText(address_text); + + String country_text = preferences.getString(Constant.COUNTRY, ""); + if (country_text.isEmpty()) { + getView().findViewById(R.id.country_layout).setVisibility(View.GONE); + getView().findViewById(R.id.country_line).setVisibility(View.GONE); + } else + country.setText(country_text); + + String city_text = preferences.getString(Constant.CITY, ""); + if (city_text.isEmpty()) { + getView().findViewById(R.id.city_layout).setVisibility(View.GONE); + getView().findViewById(R.id.city_line).setVisibility(View.GONE); + } else + city.setText(city_text); + + String state_text = preferences.getString(Constant.STATE, ""); + if (state_text.isEmpty()) { + getView().findViewById(R.id.state_layout).setVisibility(View.GONE); + getView().findViewById(R.id.state_line).setVisibility(View.GONE); + } else + state.setText(state_text); + + String achievements_text = preferences.getString(Constant.ACHIEVEMENTS, ""); + if (achievements_text.isEmpty()) { + getView().findViewById(R.id.achievements_layout).setVisibility(View.GONE); + } else + achievements.setText(achievements_text); Glide.with(getActivity()) - .load(preferences.getString(Constant.IMG_URL,"")) + .load(preferences.getString(Constant.IMG_URL, "")) .centerCrop() .diskCacheStrategy(DiskCacheStrategy.NONE) .skipMemoryCache(true) diff --git a/app/src/main/java/com/example/saar/Retrofit/GetDataService.java b/app/src/main/java/com/example/saar/Retrofit/GetDataService.java index 0a0f7c6..a0bc210 100644 --- a/app/src/main/java/com/example/saar/Retrofit/GetDataService.java +++ b/app/src/main/java/com/example/saar/Retrofit/GetDataService.java @@ -4,14 +4,16 @@ import com.example.saar.Gallery.Gallery; import java.util.List; + import retrofit2.Call; import retrofit2.http.GET; //Class with different networking requests using Retrofit public interface GetDataService { - @GET("/timeline_sample.json") + @GET("/assets/timeline_sample.json") Call> getAllEvents(); - @GET("/gallery_sample.json") + + @GET("/assets/gallery_sample.json") Call> getAllPhotos(); } diff --git a/app/src/main/java/com/example/saar/Team/TeamFragment.java b/app/src/main/java/com/example/saar/Team/TeamFragment.java index 00b244c..fa1edb3 100644 --- a/app/src/main/java/com/example/saar/Team/TeamFragment.java +++ b/app/src/main/java/com/example/saar/Team/TeamFragment.java @@ -26,7 +26,7 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, // Inflate the layout for this fragment View rootView = inflater.inflate(R.layout.fragment_team, container, false); - int IMAGE_ID[] = {R.drawable.vivek_garg, R.drawable.mohit_kishore, R.drawable.hit_vardhan, R.drawable.utkarsh, R.drawable.saar_logo, R.drawable.anuj_shastri, R.drawable.saurabh_gupta, + int IMAGE_ID[] = {R.drawable.vivek_garg, R.drawable.mohit_kishore, R.drawable.hit_vardhan, R.drawable.utkarsh, R.drawable.raghu, R.drawable.anuj_shastri, R.drawable.saurabh_gupta, R.drawable.avinash_singh, R.drawable.himanshu_gupta, R.drawable.vatsal_singhal, R.drawable.adarsh, R.drawable.lavanya_naresh, R.drawable.gaurav_sharma, R.drawable.rakesh_kumar, R.drawable.diptanil_sarkar, R.drawable.aman_kumar, R.drawable.sahebjeet, R.drawable.aarohan_panda, R.drawable.akash_balaji, R.drawable.anuj_yadav, R.drawable.nischal, R.drawable.atul_gupta, R.drawable.rahul_verma, R.drawable.gaurav_pratap_singh, R.drawable.aparsh_gupta, R.drawable.somenath_sarkar, R.drawable.pranay, R.drawable.amartya_mondal, @@ -39,7 +39,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, for (int position = 0; position < IMAGE_ID.length; position++) { CircleImageView circleImageView = rootView.findViewById(IMAGE_VIEW_ID[position]); - circleImageView.setImageResource(IMAGE_ID[position]); + //circleImageView.setImageResource(IMAGE_ID[position]); + circleImageView.setImageBitmap(decodeSampledBitmapFromResource(getResources(), IMAGE_ID[position], 70, 70)); } @@ -74,7 +75,7 @@ public void onClick(View v) { rootView.findViewById(IMAGE_VIEW_ID[4]).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - go_to_fb(""); + go_to_fb("https://www.facebook.com/veerapaneni.raghuvamsi"); } }); @@ -172,7 +173,7 @@ public void onClick(View v) { rootView.findViewById(IMAGE_VIEW_ID[18]).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - go_to_fb("https://www.facebook.com/100004599372405"); + go_to_fb("https://www.facebook.com/akash.balaji.900"); } }); @@ -207,7 +208,7 @@ public void onClick(View v) { rootView.findViewById(IMAGE_VIEW_ID[23]).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - go_to_fb(""); + go_to_fb("https://www.facebook.com/profile.php?id=100004723033463"); } }); diff --git a/app/src/main/java/com/example/saar/Utils/Utils.java b/app/src/main/java/com/example/saar/Utils/Utils.java new file mode 100644 index 0000000..3b15f88 --- /dev/null +++ b/app/src/main/java/com/example/saar/Utils/Utils.java @@ -0,0 +1,94 @@ +package com.example.saar.Utils; + +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.net.ConnectivityManager; +import android.net.NetworkInfo; +import android.view.View; +import android.view.inputmethod.InputMethodManager; +import android.widget.Toast; + +import com.example.saar.Constant; +import com.example.saar.Login_SignUp.LoginSignupActivity; +import com.google.firebase.messaging.FirebaseMessaging; + +public class Utils { + + public static void closeKeyboard(View view, Context context) { + InputMethodManager inputManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); + if (inputManager != null) + inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.SHOW_FORCED); + } + + public static void logout(SharedPreferences.Editor editor, Context context) { + //setting all values of shared preferences to empty string + //login status is set to false + editor.putBoolean(Constant.LOGIN_STATUS, false); + editor.putString(Constant.ROLLNO, ""); + editor.putString(Constant.FIRST_NAME, ""); + editor.putString(Constant.LAST_NAME, ""); + editor.putString(Constant.EMAIL, ""); + editor.putString(Constant.PHONE, ""); + editor.putString(Constant.FB_LINK, ""); + editor.putString(Constant.LINKEDIN_LINK, ""); + editor.putString(Constant.DOB, ""); + editor.putString(Constant.GRADUATION_YEAR, ""); + editor.putString(Constant.DEGREE, ""); + editor.putString(Constant.DEPARTMENT, ""); + editor.putString(Constant.EMPLOYEMENT_TYPE, ""); + editor.putString(Constant.PRESENT_EMPLOYER, ""); + editor.putString(Constant.DESIGNATION, ""); + editor.putString(Constant.ADDRESS, ""); + editor.putString(Constant.COUNTRY, ""); + editor.putString(Constant.CITY, ""); + editor.putString(Constant.STATE, ""); + editor.putString(Constant.ACHIEVEMENTS, ""); + editor.putBoolean(Constant.SKIP_LOGIN,false); + editor.apply(); + Toast.makeText(context, "Logged Out", Toast.LENGTH_LONG).show(); + context.startActivity(new Intent(context, LoginSignupActivity.class)); + } + + public static String getDepartment(String rollno) { + String year = rollno.substring(0, 2); + String dept = rollno.substring(4, 6); + return dept + year; + } + + public static String getBatch(String rollno) { + String year = rollno.substring(0, 2); + String category = rollno.substring(2, 4); + String value = null; + + if (category.equals("01")) { + value = "btech" + year; + } else if (category.equals("21")) { + value = "phd" + year; + } else if (category.equals("11")) { + value = "mtech" + year; + } else if (category.equals("12")) { + value = "msc" + year; + } else { + value = "unknown"; + } + return value; + } + + public static void unsuscribeFromNotification(String rollno) { + if (rollno.length() == 8) { + FirebaseMessaging.getInstance().unsubscribeFromTopic(getBatch(rollno)); + FirebaseMessaging.getInstance().unsubscribeFromTopic(getDepartment(rollno)); + } + } + + //Function that returns whether the phone is connected to internet or not + public static boolean isNetworkConnected(Context context) { + + ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); + NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); + boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting(); + + return isConnected; + } +} diff --git a/app/src/main/java/com/example/saar/Video/VideosFragment.java b/app/src/main/java/com/example/saar/Video/VideosFragment.java new file mode 100644 index 0000000..da8e6e4 --- /dev/null +++ b/app/src/main/java/com/example/saar/Video/VideosFragment.java @@ -0,0 +1,58 @@ +package com.example.saar.Video; + +import android.content.Intent; +import android.net.Uri; +import android.os.Bundle; +import android.support.annotation.Nullable; +import android.support.design.widget.FloatingActionButton; +import android.support.v4.app.Fragment; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; + +import com.example.saar.R; + +public class VideosFragment extends Fragment { + + FloatingActionButton video_1, video_2; + String video1Id= "1aW5r8-d2jQ"; + String video2Id = "WdR0v0pJ4vY"; + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View rootview = inflater.inflate(R.layout.fragment_videos, container, false); + video_1 = rootview.findViewById(R.id.video_1); + video_2 = rootview.findViewById(R.id.video_2); + return rootview; + } + + @Override + public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + //you can set the title for your toolbar here for different fragments different titles + getActivity().setTitle(R.string.videos); + + video_1.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + openYoutube(video1Id); + } + }); + + video_2.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + openYoutube(video2Id); + } + }); + + + } + + public void openYoutube(String videoId){ + Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("vnd.youtube://" + videoId)); + startActivity(intent); + } + +} diff --git a/app/src/main/res/drawable/edittext_box.xml b/app/src/main/res/drawable/edittext_box.xml index 0d58056..0281ce8 100644 --- a/app/src/main/res/drawable/edittext_box.xml +++ b/app/src/main/res/drawable/edittext_box.xml @@ -1,11 +1,12 @@ - - - - - - - \ No newline at end of file + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_access_alarm_black_24dp.xml b/app/src/main/res/drawable/ic_access_alarm_black_24dp.xml new file mode 100644 index 0000000..934b067 --- /dev/null +++ b/app/src/main/res/drawable/ic_access_alarm_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_date_range_black_24dp.xml b/app/src/main/res/drawable/ic_date_range_black_24dp.xml new file mode 100644 index 0000000..5ac94e0 --- /dev/null +++ b/app/src/main/res/drawable/ic_date_range_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_ondemand_video_black_24dp.xml b/app/src/main/res/drawable/ic_ondemand_video_black_24dp.xml new file mode 100644 index 0000000..b556865 --- /dev/null +++ b/app/src/main/res/drawable/ic_ondemand_video_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_play_arrow_black_24dp.xml b/app/src/main/res/drawable/ic_play_arrow_black_24dp.xml new file mode 100644 index 0000000..e135a55 --- /dev/null +++ b/app/src/main/res/drawable/ic_play_arrow_black_24dp.xml @@ -0,0 +1,5 @@ + + + diff --git a/app/src/main/res/drawable/ic_warning_black_24dp.xml b/app/src/main/res/drawable/ic_warning_black_24dp.xml new file mode 100644 index 0000000..b3a9e03 --- /dev/null +++ b/app/src/main/res/drawable/ic_warning_black_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/marker.xml b/app/src/main/res/drawable/marker.xml new file mode 100644 index 0000000..994c482 --- /dev/null +++ b/app/src/main/res/drawable/marker.xml @@ -0,0 +1,12 @@ + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/raghu.jpeg b/app/src/main/res/drawable/raghu.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..77b683e1ad4e25689a8c9ac72907001f26131e40 GIT binary patch literal 55763 zcmb4qWl&sA6YipmyDaYR4#C}FaVNMe?(V+9EwH#R8eBsH!QBZK;Kd;jBv^oi%U5-) z?(f?(zs}6`banOgboV^xb?tQ*fTyOUssunl000o)8sK#kAP+!7MEqZWBjmS^f`)>E zjEsT-1frs0VPIilVqjuo;}GCs+A!{}M7H5(+8+ z0f>f<@iwlC2S7wXLPA7AL`Hu5j*NnWfQSS@#z!HbL*)Y!%Ia9td!Z5WM={7{lo9K; zppys;E-=d5cxV1c8hv%mq^IxG3StpfD1T!`i2y+S-%kH;t2a&v$S9~lw6{@?H=z&_ zkP(pI6!m}SARyu+ArsK?p%Bu`>JagxS`!P%c`@j|ZUC^5-gx07;RB=r$22hfNwLY| z$EJQ7g;s}g^a0G`FefE3d!ym8DFz{4a;Apkr?-PFbh6Z? z%hW9~MS@6c2p3?zA3l5{6a(#y~T!v@G?EwV2)X zwk1OnrY~(L&KisAo15dPhm+SkLQeWM9cB^{k8Lk9TlgZX&RN-3UJ{96lC>>T9><@H zEJX#zYIr6N(->ik-BRA0?(5LJOHH{E01(pb3?jmaLbp=gE5rVT1dA2Mf#Cg+Bd>#u zJFEVXdqnqs_ZiPgiCZxy>r!TZywU+-VoZ?p9d%+8jW|1; zmG5NY@1&v@GMvF(;8E)oC0(X-6mE0skLpoP6DM5n zwF0?NwFU%Izh(M+RVU>!cpk2`$32b($B*Bbxb-^h+!TjbN>u)WcW*6s&CkmCrIyK( zo0+ku;t5|+ooY0G-sJc$;;jXsQA?8vndje-5kMVBl32mal%J>52Qoo0ZD)6**2vqD zp&p6+e{x*_Su``9DIfvOD!ZBlBh*U;<1M>kfAW?*e)lvcm`+!k8i^~Y1IN9~@f6sh z?h zT;(7DWf)v}1i7lom>@_cheSj;#SF-@OXZ(sWarX^B2O@Y<;I| zHwWMu!Aij_qn5v5^kzj<-ZIU}%8(l!kdtFi5q7>nqD;k>iM%9|OW01S(R?;a`pmyQ$J5 zoyCx-P#yh^;x2=u*+v2yvZ+a0kg zX<*fV2qpC1qxJ=7>3LEx-8yVNt(cgZln;>SYBqceV5_x9Gf!nVL9zS9(m`+@9W_Jd zw0>KfE;lfP=0%wnUxzdDIrP9&5^f60a>|_drATqVwu;ljMTy)6r^K2py82E@rFEsU zlKwVL{)~l{@mt?xBwjC+{uQuTMC`{|U+cn2LOO_{?Xi)=rgL@+)2ub++{o?B=QS=( zrL_7YCYT^Di4o@uw6_+npiTWDu`V$F3TQ-0NyZE|-tfKX{rs4Fo(edxu5CF(@i70+ z@;UpLJFfMGdMEY9L39$i@)TwAjV2~nTu0rm8!|W&qHcUsvs$K!H2vdSvh89OW~PEq z3;)9fSmPC-S8``RG*@pywT}OnK8ZR)k6A0wC|q&ou;3|*J^aqLJ@Y6(7^ZVXG=eEE zaw~G2NWnrIvO+LUCHLnO=%!p0DexhUVzFBYpKBi0bIb#T3rsk2SjNc2P-8?OWPP_S3t|6Ac? zS9a@Y@9LjOl@nO|-Yw;3Q{9q_j7~KmZJP`x{cO+U(I{2)lm58FfH2VQD|m(iu%l?W z`a$oY#kt>z(TW&JNPeHgddbgXWE>$~N{Ss@wzjro80}E*dVCBLLqAhwO;6#URs1rq zVngw=%uo67Sk;n|Lmm=0w%DOmc}`YykSSWOm?83@&c-U;D8!B9P{X~A6ZXAJ6B%!a z>=lss614>-16_@Uj!V8<-qM2BcWpfz>MdEvQ2{H1)ijOtQ(8Jjzmx+TKg#6p9w56MJ}>LPzRPeIKV z-`KJS%jv%r8q}()7(+~-C72TvQ=9IvPft)O!~9^Rg)j35&k7P~X~2e;KF^D z|3a0hlJD)Myv^4U`4fWQgFlrFT|zo3{jGSVgE1X~9`j!C9xMrdFzjugQiVyf7fusg z^M3)jzi_Nvj2^PS*jfFSKhr4==U^Em^P2BnHW#X(4E`imqs*08Q#JuW7o>PZ$8}*= zj;LICiVWx6zrwnD7hY-qx6T9aT1_$u!+4)^#UiIA)r}p3ngcxT{907vY*hzjToF(b za!)N;gmm#$msBVwNT`av*OO(_*;;biR`PAcEa&Wn*oOGzU!u*e`atK-sN1wljn5`H z8r9rX6Enuao-L_>%2`K4(Bf{^!aMc{qhgVC5EuGWrR24$;JMwuiciiKEJ&tnN)k&$ zYSKE=LjD5wL_bq3?$D`~(%VF8g*bUdl+u%7rLNv+iLM#l4z<}dtXPpeM2vWyj4f08 zY{}*(VP@Tb`<4+h^k_B5JfxOY<~~+r-vI=;&PRG|Aag>s=qKt!s691PeNM#!gdvpv za7&m013c5_$FuN;#Qya^@stR)S$hvj0s7-V32Bm2O2%jF_+;bq2jE5!2S&u zWERTfwL`Y4jaAwB`P;blPj1z~FR$&`B}5g!Iw{~GmhF}gI8@Q>r@v8~Tkd<79r|bm z@A5I~w$d>h>r{)y;La^_g8g3yD{UJVJXcl7G{Ny}bqds9Lpv3hdACFX!3)Z5!l8Wz z#AJSCl;VVONP_!OS@2mThLU=Y`b%?NZ4oCehgH`&XZ(VxOjJswl$eede=200(i3LOV6+*@q z`%ZIP*`{{leW}xV`uCmL&r=0ng{u6dF~q2>XUCXO-4|y+g21Q%=18{^&Dgws6Wc8u z+~ABHfq_3BbYH@Ar4rib?xXG)@#%k@kO(vb1e6X%Liak@OeN;v=PjH6q|ZGNt7{f- zE<`7wimnl+eM0h5--asw2?rwvuCpw8aQ@zzjxvw1)$^kQxs3h_4ZBLS2ynLiL9T_H z57AG%Q1v-jr-DS#8j;V%ZSI9!I6L`iADo(5yYl!Se?D?_QHi_K1Zk#jb&^6wr}qx7XNWaJw9QmEkxp*u z(}G54;*B2_66Afgs#bcFon2GY-JcH5`Sgzm`xGlCid|0bNY!o?KdL!rC{oHcB?L6I zmar`P!kAL&y2zPE%RH+E9bK==vwsu`AqHrju=s`9G3`jvLwdLAVydjKd~eCAK<{>I)M6U)kkEnOG7-jY)xjqC&)TF zbE{09?8OW^>W1VRXaKGU?EMgxtdH98p|4XqyF2GgA>HLz6#?I&eyUhwPMUUhM1Eks z#B5C~h0HQ+3A|*GDyN1DY^heRU`E%^*fLa1xAPw{IitUzCpG8b-xsAl%6!Jcn7fTi zU8c|L>zdqug7QPFJJ|AC;o{2JTD*r0z9*9!f#V~XC$i#*U#`c9s-2>EocO&Zv5`a+ z@}mXDtbgh|TTm4177}ihs<4wx%Rens;NOZ`uEX&cI>LLqx~JsdP0-y#?mI)Lmh8+e zoc&{*5E4EKq04&(#xZ@qIIh2-JRr~2N`xF*qpIfd75#b66>k1URh|x+@CX`ZU(;-{tVJ@1&DwDxdF9 zYNw`HPJ&&)8NP{*i9e5(9d?EKdwV}j4pOwQ99R6G^KUoftk9oO|C8@bs~zr;#4G#prOB79|65()cjV$pr24lfN2*T<8*VgC!kd%-F1HdNSowElFu z@0-h&W`9)w{k?<9W0;2Y0kr!R+Y-n0o6aj>N^d2GZ*J_Y>=nRhz7cj;pMIs1_X_wH zSUbe~`CVct8TR2tL$m@+!E1dbQF^sLS}AB(eZ%iq$GA1GBcx-j2Id7`pbD>{`O6>t z{mqHC&{lVdjrG})W3*|6j#l^Bt(5F}G+g8bee|0BG6$+#a~V5s8~UQ!M>CT96-2)` zOP0|4SICTY<7=iG#}5MUscQ(CS3orZ?jN%bHHYp9h6G<#(|^qEm|ciRv-)$Pa6v8s z*U(?Eu+oW8vy&7B`&?SH=xRC`D#TJ<^r>KivA#4^K9=Me^9uOkm-8iuUGmhUt)hiHnq+pV zhHFDUpJpB`28N)pz&qCc&_UvVky@dadt1Uc;5(CKx8&WUhB;xQ8t-4zVNS``z2@>? z_(#hyi5q*eXby>iO-Ud(3>6>Cupc>@s}33qYf7(*52 z?$WhtEBXAlvm7g)=dtB6DFyJ1L%)a?tytn>bf1(avA?JF6$Kyel|!OBH;0EZ+6{{P zXwD*qxSGUvshvGqB84y7L=OxwY)J*wkNlsUtMEk(4=cF_=7Qs$2Ph_3)!BdFSD~+| z8*@km*@@K&enajrsvbd3Mv|LpNugH~ruDy&BR3S_W)`D5L(W0js9u;OMpY1GR+2j^ z9e&Sp#bF5ac79V)rcA`K<>r#(>{oh5gYU8A=hzwc@6z6zN2tkjRGwVB2} zs8UWw+)%Um(Po#^^WfgGCUG%BBmTCHsF6`6EBvK_6A$*vg^AD+8_D}C?*e@N+bA0k z)JYju66Y=q`pf$nXSA1!RLQXtH>D>t!9ATu<-DC1iZc*m&`Z^IEj09*KcDrclKd;;NMQ6D)YXtNBT*&msc~Ge`;p; z3Q)Uay+$%MF5~%QjCy3E2V~j)ae-pH4)Hf{fkbL(=z=2g0(RnzUH{PewG>cC+KYxn3zjA0ob z{&00TPhQC6{?6uyz)$iEh9^V6PvieI-X96^y#nf$rOv(%mLxoUV9agNw!7GzvWoa8 zbFDRUz!FxZDGe*^o*?qZsdypv-SX-->%k;^1q6YFP6eN4{uamJw4sLYrs~y)dC35AFW(f5cE! z2fs-95yuvrnWV>16;*LJ+URCO-maHQ(U zW{*-5u|;02oU7O$1SvzXi+5%{m94jP59PB75SE3E+fT;LNiSsmEx*Nlf@n$<6kTZx z$-0)O)V+_K2J#d_37O?;!n}@Wa$QTH3?+QSaS$GDy4iae+!9CaaQdfs`u zN~_qntWPQ88KAZ{ep}87F&H1ag=5MXaTDymc zoW?#@WZtw4_`gr|2xyWG6QfmwRW0<6+ zyb*UFf~CEdSpSk0FC^P6Isrr~u?Ac45pW+dY&H`u!ZB_LM+1Q!tQe%uE*XWto>xel z3zpn4P&xU|r6B1i-;z)|87ZTAA?sznB4Vs-=d9}Z9)KWeL&+BXscPzsUHq+=6%_oD z?DD9MB%ou9`WJDd1^JhB(3ry3aprYpCU;{U~eiN2;p=ELmr`8zk=>WrD z{FM*Sk3ZK&=K?7Xej7qT;$Kh}Jd z7tvN1D2wr}ksjKs!j4yIJ*@Wa-!cLx7~DKy4^v+2rqrnxq1+<(#45Y50sL!a=Fv`# zEGc&v5JcCepAbH@9q%>zJFd%AX!~7mK-4zTmM@>yE{apHMLy2p4ySTD!9J! z`Ht1lM>%_Q&%c<)=TARvDj5$)T3H1&t-^#hCBtI`cK4|4YyMd>7fYEP^)r)%{3SX+ z3J6$K+RX1OUT<7Y(*so}H24{sC2mG5TdjDMtCKfjR@LaJvl{9TBIQukD)TV&1lTFH zH4V}Ez7$e>{c|wiD?JbVGU;~z!3{oc2U``Rn9n9sj|om@tS!g5EcLCA4BbRa4aqUr zcjZy1dAmdgD^7)x}g<)%#M{uNpD#)v!HO z_F~h0+TeL%($VtF>7?Xfc_T_yWR%U{e$zG(+ZPF5{kq zbxbspd%fakeNNbod+?jbx1B&EGEx{1iAJtg?Ok#KssWfy!&Yx zLYJzE{*F?>pGkX!4{*q=YP8RQR4(3P z{dfkMUOd@oZM9)RLu}bhlULb@=WGbnfcg|d3&7JsrgkfFD_=83gvmd46rmlL%VAq? zZ=MnCUmA3z+|Bn0CH|T~l#x<2z&1%2$Y2Qn{O`_Jd_}|jT~PigC@h6A6s3nh9H+#% z47ZOfb*+l;$|-z3G-opz1NB|H##5AL_Z$*X5IZ&#_%5q>cwW8qo}gE&ypcXZ;$@XH zseSk$rU~c6QUGtf?l8hgP`{RlBWz{geYT@?OIDDh4S1oxz(jVFMp&C%J`sv*4ZRhL zc(g%Yc7S5~J6csxSNB-T87~K(FT@jM*HXGP-m!|PXhb4)hpoSm>d(j6KZ99sXx*xb+1Q#vg|23*8#>h zF<)We_6!MG#^-O70RBcXP{-OmUMzz;k-St@YN!GL5yA1Q)dt*&y`EzwrjcN$-o6|} zbhP9UeRLT!b4x{P+x%AXgJnzzSD3gD*S{>HEXs+=+=mf7E=E;N&`qnTkd@%L%UW9g z7$mw=Wts7B8}8z1+u!%&7V3A46CzXV05Hx8pm2 zRn9zH+QX`t3o4qjQ0wkRer{WV+`S%wf&Vy?j{LT%#UhLp`wXvF8XGojNY(*&$A6s# zavd+kL_Z^XH_ZtLESHp~$MA^c2$|MKtlBam?Ie^U;}xaXW5teuHtNH95-ZvH^s&ItJ0$rDRS9v_;R(9>?_=`B^U1&bFe z&srAC^^Qv2css&|4n4lr?K>Qf36$rueLVENX(WX==1Gzvh*C7|8ZYlN2)sNF=-=v90v0OTWoi4sHOU z9T)=PaE$ZcYs)yS)29( zL%X_CQu+EQzc0Wai71fV#6$?{cp>0t2ccL<51PPzt*kpR1d0EuEPREH(1)SvmNoII ze5VAO{h?DyM9pk=_zy^G7u-(to;g7g=QQV0NZ)CT)mNh_$g^S>+`Z1Z6c|L5((Cv` z-K%WUkQk_N>aXmXj40`&?&O_!o34y_k=9jZxUc{#Wp4TXo~cD%zJhUr!a|Bkr>8aC zIYenN4pU{yQ_*nA@W9nsF^M)tR`D0o*G2dHJE3 z$v5ct5N;M&bfWCpGM?=fKyt$K&k~ZNbCB6}N)cFz^*dkrPl!XbIkt)vcUnuP<_THQ zU$MQ9+$qL~9jQM~7o3MEh-ixMGL_%s*sbfYyn_v?_DF@4^ZwKOX?zgi#UxPd=eQ@W zbQ)51<59*QNarad4VmE9r0}e|bR@i%zWylO=)qK#xK;7*8V9k&OYQc2EbD#s67&9) z#MFuu)7cMM4vG&S{a9$@FO*ssgSb2jCUWk>ba*=3Pb5f|4h0FE)*S1I< zQPjQOrd84%dUT3#PFH*-^4e9;3X2xj-cC(!{4#C0`Ey2%OFiSq=pb-fjHZaEeF1k@t4xe+nOL8G`MmOEd1&9(=f`mp1bQ|MvN0I^vG6BF z38uc~-<0&CJb8V-`lHG!(2nM&fq!%_j6(h;l`Jz=S>rTVISHoKG{GL!GJ5=vP9ADN zy@Xm#R^erzx@6S+wdiyHs%)D4MqT{G2FglghVduY6`i7bR#Lozeno~2Ewf@tc5v-* zQTyqpnb>eG8t#sdkC9R^C&@gDC19+%w!J_lwX9XeJR5|?uV{diwt&ABDIX@G{v+N? z2NTAHKPofJ8XL1SK$D6~y@F9szskeGm=;W8m+ch0R4tvc><-u-l~ZyutDsyVk~DY) zaM)zI9jSI9C{k-lX|H9iaJjh)mia6HOwO76!j^=VRjG5^x9+%nkxxp;Xc-Y~lZJTR zm$7Od^p))Blk-M&rSMnvoH7boR-&k4?HQQ_;>iqX$6822q}zXeHhGh-%Zs~DHZe|p zfMUIqkY@v-LBf`92YT&|=xCbX0(1QedgMLn@PWMoJe8Yn>0o{uHOnV;rGI1ak=yv2cw{eFF=+8q82C2LwJ3~jthQNYi ze2FP_8AmFWe@`e~AteY=oK<=)OM>yWsj-9GRE@WP<>FJ=^#yl74c5wcr8F)lt{X{! zU74?Pmft%~$JaYqmM&S6&MikY;*28AXeb}yy1xSYHOn|B_(rhV|FT2egopUm&VyGc zHe^&c*zZa1@ZZxti10b*9yuE`y8KA9R?SqQ8E>2Vnut4+nzLj?c$)ib@jW{phOlt+ z#TxmL)Yy<=#Z0lt*&NMNN!_6#>|%6oakp?)ReAS250|J?sZV{Q)~~04+@K93Z&k(z zp`y`LiI;fSk~VzI99=P~y{1@+S@jHp@rLdSwdo~@LTDwb=!M3HeNIZfH#RXsw^wTj zwPbApSeSptpq)Z6B;cre-gWi5FnC2sVawsFMo2-o%{s=tik3xFKT*AphH8%h5&D=JNpim4_~Nt$5nUP1hK}X(6AAZP6_c#YA0wH^W!~Y z-Y^7%{dt2Rj21@*>h^JN9Gn1M+9sjCm~y6M=&Zq)_&L%0M*K8X%~^B8zqqCFu9uPF z5Ogsb!I8l()OQDc+43}ts&GHO-DNNLV+KKS`IeAa-JDS;bZfjw6%R;k3#kv<9Iyl? z&b2`7<2NxV5kQ|P4>QN6$hM;abNz*s$XqIAdL9F!E}+KFak=zTqSB{2v{}IPX4m4Q zyc|*+l{rDD+_1p#oOVEDC6+Dp3E|3xw&^qH(xq`ru5l98YMPh7qULU6VbP~*sddCp zUYam%6urpatf+It>RmnFN6`iUFI><1TU3c2z$!7C{2zK=oYpU(0!s6}>OGUP-M<@z zA5y+m?-@^jA+>}bnhe~b)(vUmnuw{InEyef)j}LFcAjpT`eptUgba?QdN#^B*Kg zQG`o{nJU*TodHd4Dl6kD3Ylu#v~=S8kwQ``wt%H4Un#q+XokM1W`sWv^ga13u0Q1= zN&ks&PBp4s|N6unlC;AFlh1VF;8&05T{@@pQp-G`;8h#GVr9*B{_rr$uA?1i)v7Uh z%$yIZWC)=M*ts@pry4SwjM8&z91ZHBPb^5;2mFS`8Rs&2LJ;Xn{PYYB@Ay8pb zkl2WhOB7^x8C{(8C)nzza*xu6c^?&ujjdecudrH8<1^3#ZtoR|-t6Lux>YnDpb*ZDIpqMFq@T{+5 z{v|bz_81i!r54p>gLU!t^ro9Qu72y-m2Yb?3y#FC9np!mr%^cT=rZx$?2Dkw&gkp9 zE33%KY1iw>!~WO8V0ySW`(vmO#+XWNO>A!vC9Vq;rU>Q+j*P?`#o|Kl8*^PaiHB zmJp#5&}{gpt*w1JpVT*Wm;hrX+5?1$au=FnOfh!OGu#R!LkYviS;&|OB{cjl1$m%> zw8K|uTK;@I9sk8X)J(ersaBU-5UNF@^?EO}6-w$==8^6NEr{BhCi#5B-bm;}`X^Ms z-SEh|b4Fe9m%~?9?HN61;+_JMhA+_x-t<{Y8*4Ng3(WbH1%!WWPxbte^Gk9)f@?Ui zRg62Hln#Nv*t-b5@$T`Z1JhptH_&>;ONv(jX4fm=_PV4Oqkp{r6|h!vRq*~5ph@~K z!=Sr=+U=HtP1>Nr@fDC;m2k$Fd+H|k^%bB4+^8!5tHkhkY3cVX0Ll5WzMbSMBsHZu z9dM#)kz3;$cP7bD6YQcHGNa|&(J71;tBz~_ zYMXjsB+c!(P)}YlE<&iuHKjJY$aj#-+#+(5@XMBqBU5zup_FZMw8~RUQ_m1Pul1J| zkgQhG`1dRo#y+-zg7q+euyNO1D&%0>?*xZTK654PPoNSsj`bBZbob#9dXJuDnmF<;%0d zJio#CqKZ{$?NRLrU%*Tea0usXR`nf9sw#9-Z7rKHBjzV`j8*6Svv!to@p{{8kytIZ zp#d*wn-{?-`D$o8gGqU*#m=Onm$Plk&QjVIiZJ3)cOKf$6-dUF$qMI!N1gOBXa2ey z*uoK`j;|%#IB1@M%=hx02VE%TWX3Z}ncFAMI(3#2WZ?H$tk=0IIdiZ}`Ykn|8KNEn zpr<%U2u}$ubsMRMft89s%uRf2v^Ha99+15OWDbAoAgM%u#M*Xd0va2qc&_cl5o<>U zM)*0R-i+K1?+?CG%1fO<>UuS!U+F1&A@Rf<)o%k0$$ihR{E~i%TOVXZ)pZpctIfBA@*aFq-{?R=#BA zyY@2vurrG5E`?#J@V_Qjv$E553Oc%RK*puIH`;T^AFpJa{@MLql2}Z0e_|0*Cvex} zo8va+-Ha61-!iChK~;tnBsmNtN8HzWE40|`?A3d7FO+$HezjvVtg+4$~3VoMnwuem8)co zQxVfNFrq6@WBME~ufeG2);&O}JLERGQq<+cAUHAFX6}p}_z0DqgfpFC;I1x|WPXST zektopu0+hFTxELPs?*wEcVAB7QQLAVw}Kou992n1geBS}M~lYvl(xu9)`=!P!SWbu z9qvTdNLO10j268WRMA-DgvvfXl$VjjFNu$dR*9~$yNN4@Tme5_a^3~rK9{pZ{-w+N z2OG@LlPY_OFyZ`Qm;ZC-9k4fvB3>8CA-hj1ri1t^zV%Cgr3{^_!6 zsI>{$N@`MQR|ss5_3w)((h&Rl_}uFIhR1(CgQuLz{D-^PYR9t?H##TH;o4~KJDv5D zbc$D{x`U#^H~~3Ek?0APuiC^WeF}rrqCwwL>aI*trv-6a7Spl*2<5YeO;T(ht zZsY3x%R_)g^md@st`pORLBZS>@S^L~=TOvok+HRsly#8y)q~?rW0G+A44WC<54ASj z!&}KS7#prEg(!-afZPeciq;9c2~1d{jCo~Txl&MI0xv__^Bk-2Nv^X0I3`idUvJO@5O7iJ;ctp9^*s) zW!?%TT>WE0W=YQeuA2`dhI{UE5$u|pgX}igaMTo46o(Y}v%#f8r<0jub8Qda=o`8~ z&@9~_lMVmNs#VRwTXpmCM)qfzo^yq%suyDn`Y2zfb~ACA;!BFkpTo!17v;H{vn8ji zu>?Rf@&O=>Z&T_|)qyX+WQn8@$1C8PVxpR(xreLW2l{Q(b*&dUMskz6?aK^4x_=tv zKN%0xYCfdTkjvXEMIBe_|9n`8QLv@aOZ31ReJFBeEnE7?3T572U^48{p|@HI=MEAy zE|;iqyaHhwAblBE5pZyc>ATUU z+32Qyb|j7$^!O<0mvqX3&NAaa?J`NOiYb@s>iwQ?kz4m8>})jF-ui|wYO$Kl%2|g^ zfz>)6B{Gu`{tHh!*x1?T$3Iq$lY0CGsU@v6H0O4M8S~buQg`_JGEs}NZ;TcXmUys8 ztW zdzQhx@b^rD`ReB>CRPXY$!WHX_x9k~rg{&r7BfJ|(g}x^0Gl0_IF|)|SB#s*a~=FE zc4sJ+=Q=YFrEvF>Jr7Q3?d>R=lkQD>8#Z>sk?R z2r=;=;p*YouF9N#=~rihnYmTMa=|BE#9I2Y>VW&QZGz5sozMNO=IIcwd&fhZ^L=8o zsWsP4yby=#Tgz49)gFl^*5xS*7tNKBK>{wxul*#qvbZ?Xkp7cCjv_rsntLnBdd!d` zs4>r^jzBpl0?)#^-U)234ccBs|LX3^^gc9X^=|Eu!*N=gQbO+QHEBKduV>5_PhP&l z!uy8&5FuHH{DvT(8LNyk95(ze*TwZJU*~)@Q3kKuGVT+yyid!qSi#F|)7FQayT=kf zV6%YvBlK+u#MJ+q46U9hEsv$cT-| zt*s!*v;jNNRTlP%F=^tF=yS#PVI-1_!niAAkkU+ysOBn}rxZ-e1duT5(hOK;i6ixW z;WDXIlu6JGS@uR$;XW~%rf+ro6KcO>a7qkewAUGjlv7*Zo*#!cJhnu6$uj=C)%SPq zv;Ss>JC`=<n^)|5yYt43g~@5c&M+3tJgHr za#EmY%G^o30%qfiEZE_hV5PcY5nKJ7g7=C67G11%>ATmntl3Tn$81lrVt{*=p6cO! zk#YF#pk#B(*!({70@`>tJNb^<=BD}9C8}E_-fSS5RE{&HD>R>MDHn0|*JUy>jVkrB zGo6A%52m`eowUjvkuydi9H7OJhNU`VT(k#@B2kV|Bhei25Z_JRA*vbw@24u}w=FLi zNxIc{zI?5K2t9Syw8C0(v>&JXgQQqk+8&kQ=1e9x`fpcnTCL;T&s17REa~dkqe71H zw*#lDVih8#)IjUx@gMYAsB?CtMakF118VJr89<}#?yVq(i4FFAmlkVYz+D-x83Jw8IE@Lhw3idEpxh}xRDnm`j7||(q9}` zd*chkO5XXQSN8M-1YwqVyCCndsL?J&#q0thusXcaLF7g-Ck+{62sk%R1Bvz#ZoEi4#sG^1wGi-=3Zbz~Nj<{l@u8G4;1*YJ z^btL-WC1t9W<`v+3Wfnsl^H!WZuRM*HVP;CL|!pzVkD9V@KIcB-pv+h%r#4&0F--@ zH78n*=v|hn?X}%7V-q#GOjpWYBAHvDwQ%4kbE)jv?{Kt(4$Xm!tTsIw<%(B;T@I-m0h#UM#iD#JhFDec2knbQNOZ~! zQHYROdhfgq6Nr)8If=62H+#fKZk14*6s1|gDp#TKDva_^R!Ltl#&i^40gyf{@!<|X zWeySh0NK`mLg!KOV1)Jui3J9Bjvula;=HrlyLzNbp_%3Q#{8YKGx#N*a?E$fT^&45 zo(HHQ{+VFCsA5Gr7(ESfbNr9~xnTUrtWiX-iLx*}R0?5d%-;P?`rL0!wC%{AlB}SU zG`5V?)6?)C>69#XO$v9ouX*fxKAXY6P#O z5BzIqLjQPr4k7K0y}XBO9&rt^G$M#3+ID9ZLlC;BSB!^3_xEaV@iuF3i8}QRMKc7r z{ddFQN^nn}sSSZ-eIBc#0$3S)%3rqR8+H;7K&P??B(BT@#4dVNrh5Wv!j@(3jPwB$ zx(48^5!s{9NuHn?zZ2JcgV%m{b(GB2ftmM-e-V+c5lkz$B)WY*qvFE)K99bag-a-1 zDw($3)bR8xDTL_5Rwq63D6b^DtGL&M3QFVJF@2+qMjL)_RTc`8^Fcs`PDM@uSB}dE zI>L~n#AC4=$o5te(f@!4+R;7B*EF*~nrX({)r5Uo`|Lwh5=mxo{i>>B#Np#Nc>aS4s5t6J((AOCvjqrHcq2>eT>`k77a^OlyIzU~IX; z8B9=KZ&~7GTs}DdfA&IOh6R^rNA%IA>{#oKsC2IhEY=v_DJ3vUeWd)Zt^5q~E+LR6 z2zWO#XR7TJEP9ow@WE}JTM@b>zv%cW_xb- zwCd~+vA{C_3nJT#O-476b$A7swmVw2()zpg!{@O;$M^ND+dklUyJAT;k5+PaMIB^( zeR(|lu?{3V^H{VuyxiEiHQr`JeRvgB7VI`y%)C>kKw(j=1iej|80zcfiUOv?+PQyKh)H7v}pw7uNPwKM!(nv0u zhvVSPa6WLQHc6nCvniHE$I`U7XwLwcW3BX&StNJeY4OtSDH_Pm$BtVkpyZf6+0=#J zm9yLgqGn&@pA3zZJ50QX&-bWD_b=;sEH^3f3v&Zs0q-I0R^#VQr)Ro*CoyA4P(gbR z*p~RQ!z`+ok;Y7>f`A*)NjjK}PIc|piAok3|5BX>$u%;pR^KD4_Wh%o%y^X^mc6J1 z7|SBfb@E_dz3fD5_Y+hd8wH3J9cvdt?gaFj(Zkvtm9r^F$6`&#A!ImeVE9!UF8B;{zpkWfY@~>LVwC`zp)7U35zBM|D%Y z9VS>nSgc65K3%mnIKH2q*dc)!4g6xgaJc%Uwuc#jZyxbuQdS(dY@jJV?Sc33{BiKH z@ifdw`KLPEFRgar^UP#70n*D(1nk#T`E{{puY7;Aqzh4>$XIFErk2_xlFe*7le^3yNv$cY^Y3m*WMuuo) zgKF)QAINTN?Qz$u?SW)_Z8I=FxpnSNx!dMx2?V(t>Awq)+z5PUTsL1myM z>X73XS_`R95UQh3V}A1zs~Y*6PulmjpMg<~F9jIiXHBX2l$xbeq!)v;pLt6&j-{mN$l=aJh$YUQEuT7;Z z&nU$HdgizvVto6#P!EzA<}Ug0zzMXcIn}owpDZe)5BYkjko+)cx?CdAY&#(Mcxyeb zphXz89_cet<_t|v`8LXzTo|%wuIXu;yqmh*rq4LTHwm*4P}x%dcsJJQ_|f*GH7Du< zR6icfXR+v5xR|#xf2*N9gQkiCpR1BxP~t}v-zyyy=i83UP3w||r2tuV($486FDoHPom}pC#UT7^J?jt{(n@gjoKozRmk*^Hs@6RsRJ5=c)9YB9RGNkg z^FN;n+@sZhcl>XO^5DVT-N4@&NNSGI6b0(0#Mr9zh58xSd+!qqaSvxws|P)TorQ>> zrnc3wN_~&4p09v*`H_70rIV~{xW)AWplcb zhmrS)`=!=6*KStcf8;a&w$H(+MW*tAY^Y39#QzO5Ex67~IHQd9p}rdR))DsQPTz7r zzW!Gkg?4u4rdh>rS0Q z1bsEDMKi)#K4?2~R!bRP5%aAP*9jkHm2mIapy5_&U23lT) z2JSMh*d1vu095S}#{vF_k-VH=(+68*JKl{1ZdLh9;`(tEpKr z{=yW@^alI$FsgmSg2?(Je*VT-P`w`8sT+QaGdRI*VD|}0Lyvz-U7q07-cB50@V0(y zN3Iy-#NC2p8rcy3R!TOx55+-|?Cqb1Tk~($bA2!?nylo z^`?qgWRaOvWl)@eDpM^xHyag^ml(mJX_3AN%b7ge+pLZPEe#na(NBVA7Z+i1jNs9v z%#KvJD_W5S+Z<+?mj(&S*%KlFx$XPZd;t!}AQ(@tk?}}o=n4aOrYUB)3dkatXw_qo zF75>)T#b(`aiZEVX-}h42Xxv`9qB9~$X7HhY(kV|f!c&(63d#a4IBFdP_yi0n$@I; zOm`8;K+ZP~YuWlg(fOf8qmB4|;;&ii{wwO*Ho2h-4xdGD%iR>l2s|C$xfJPQj@|+~ zPg;1BrSxu(B+qvWFj7a>IQgvc#krSP!SfsOQTW5uy4v>hL+R`3BDGdAO?4Y!k?H~d z)cvX^$YE_BOKY}h_P<)xBQbj2>B81QpK@ibSfBowzS!`M>j(x)NixNKmIpL$g>yM`y6o!R4x zYz*0FM~HvgZKy)N5n8OWVqZ7uALi}<07~s?qUo20cG2=i{zqvD{!nUUJ2C3PV?yLs zXTh!`GdTr@%pZEr(CC7X;z}}hfl83%KC6St6c!pZK*lm^SZP_WFFl784ZgzJW`11v z#Uaj^)rWyeWD5dLGgZ87aD+*xAYWGaq1??21@s}bzbt2OH8-Hvn!_wK;2m9;pMPr4 zDK>O8+IlUTJ+yn(8wxXnSf<(OwD{8Cm$Ea6%pu6t!OF zDo{XkrOc1k&0C$$+eZ z?llm2+N+ue!HXkhLenC9v)>Kh6meV`_i@QvzX9fAIKl5sF}KMdFv^bL3JG*vUn7w+ zzZ8RP8K=lfly$LUu^$(0Pc=MUM8|ba|4_);g+L*4j`}xL5*)_|s$L?zs=d|6A8u=-5PGl!=8_CY^ zdd<4ormLe!-&fR46_-JYI8W1qpL#g5nl>&1bJ+V+6sQ^F~=V;T(+9K5&1uYp-PLPL|T_!g(+mcP2(le)Z_qFG>S6&DuV6U9nr2 zLNkIp*Do(;qJ!XjPKjiclEZ=8vdg1fcoC>VRe%E-?TSO>(G*6s8_odaQe?&?I~}Rd zxy2>P4~%}yFc91VYPTWk58y7&-EdjC=K*O`X1rMa+=Z>WzH!)k5lC*kI$n}}2>hY* zKS(3sQXGR=Z{Q{iR$xl0I2`dqywwap(IID~{$e(F&m2;{L!k{Y{{ZAMz~q6)%?|TV zp|_!u?`3fu!SJNvf%K)x*w{K{rrla{KbcP>9<`2a^g3l~$&V)%;1${krPi#i}E2?mWo|K9tHX>}h9? zB`n;ElvUScZ1a_wWlyB5WE|BrP3W))8KpWsEMcSbAM&b4}hZ95zSSDChfH^d?Vss|r?+drz)|UDm8GI2E{{Rwfk_~5nLlX?O zLZdyXSooll{N(oZpkt7w>}rb?Ul`;1RS=+ST4B>K=C*{asTs$ZgfL<6n)-I*^KA%= zukUn@ox0MN*3F`q{`|lU!S}9Y-Lt6`z!J%kiUq+M zp~(0YY1k&r=K~m{PKz7|aLE{>PRe7E$&rsi-lGMf>uELeq{fY3@!yCj@qpL`H? zF3fUo2a(#dOl~Q>bF_E=00nxx^LkrZTuLWaB}(U&_9C&}GwE6k%U7q_E>BZ_3*v1T z$B2+VV!5=GXW!Pe=X|KNT7AsiZ+@G7%kmy zZq7hOIl=j^uA4^Y?ngf^XD*IWVPUQKi>kbmnHnH@^i<}%lb$^^crrBKXBhtgXcvMu zYv7U8ZT#u=4LVTUqg;Rw>dj}zs`afiRwcCgJ99Uh%;&j1>n>ljw~6o@pxc>e#t$D> zYb3ZwUlex-YPx>;vW{>EY*sl+j+}71-~}v57{@;Kj#D(lPVbS=@W*A&c9ZBuAhe0md506ho zP^Bt}aJ_IYy2i~$uR?kPG#P-uB-r0(RM+4HT&b!6I zA9ts)C6r{7o;@lU=Z?7oo)Q;6wP?jCfJtnwNHl20IHEe@0~;KE)adkcrm2h^u*YLY zB1+iPCkJ<7>qSO+k>GUA}^$4~q}1|59?Uq$4e*!HbB*C%62&uCo9`FOV|1c6;Rqq7-sK}`N*lkd$l zXlg>F3Hfqy`_$S5vJf|u9GrHlYLO!|q1wQIC2GWS(JAfmS)XHy=A$@{^88~MM92RC zU$rgvCnrZgwUwSr*2yP%BQ$a7=e~#=*^A0a9k`~U0A_X_hDfDMxb_!qFe;}Q_@vpk z23*S9zMg&QQ#GeUR`Yq152)l)oQ*Ig2I#;&{`8|rEzIPT??A&&n8l$R$voC+c0D^K zP+>UjLd{VVyLYB22BFBGC%scFaGrQIL@1w^BOrhGuccY}%V`s>+HSUHQLwMCwPwi8 zc-mYX>h}pVfJyhPGVJI_peA9Cd(aW|BY8oL)u%uYD~tvvjXNzXAB^uA&08;M^k~cu z1w`nZ7@QRM$g5K17Xi;OkO=4Yr|uU*P1_g7J9nXS_z6V2cv*LGZPhkXK_j8_22^%o z>}d`st?5iWm9d+MwrIP{{S1h20pp)r>QhJ(N*rPUugqBRt;stk*tc% zYaJu=-_+U!x(2zZ>9eCnHLT4WA?^q@(wVzY$vxA$e%&=^1fAI!#U@=In@t2cbpi7j z^W6)3+>7z?wpH674lhaIY=SPO&l(O^fQo&dw@=aLTi&)bD2E_|jbTPq2 zP*k7~)y+yAqJU?0RXwUR9!9=MEBO&dSd4rcG?~fEG(=B#5kIU`R2j+1o(r}_-D+_t zW4TD}-klgaIeB$3z8M;Ih*aP>GL12S4MeEkGPRu zB1Z;>OM*iuCs7DfO4C?&Fe(1RvNg%nk3}b_KsUONrX!610BQ!TR#(B!wA+AZycx>| zJc=}_9Q&{f*fTLB{V1$m09>7=RYxX*T#`M6BJ4rOIPXYk*#iS@MkIls>q?oeD<9J0 ziAyj8c&z5AAnD6UgbqH`CV~~DK4A@>53K_TD$xOy1KgU+F2}%?BVv)>hV0n5K(amw z=7ofrkjuy(ri38nUOnm-cJ}`OX77urSSR=?Q`$XH*zy8h-7-OG;Z#WzoPUV$4+auS1?2x5)xR?xF8zQjXCg-K=CaVGqz~jY?HOL?!QLhN|W=N z?cl=Vk2&V`5X*_A&uDa~i`sRxdOn+SiyZS9;fgrZ5k?LM<4Vn@_PHbGckZL9bykM! zsA5a0B}YKY2MRvb$kXJEqU~~Q^vd<7j3c^<%eM>;GwYgeUYPjCncReG_WMW#GT?(= zZvED5Nm1}e@uATz(7%aJw6ihnf_t{Oi`c6kFl)Jw-wS2n;zUN9qdkvIB(i{^fFOEf z6(t%+snf|MQ}tWqv}Pa%$>0j*O>%YCc*PJ>>){!;;ODsZtkT9))ui|ww(3?NsNfG; zQ-d`_$k$}GuT;Qxi6jctnZccm9zqY~p0?NFpI}!29_F%36QjR_T?u@W(B7hu2^lq( zaA@sg&ll4rA(>klJXU&VQyh~ISy7|LKcz}$i$Lut3`GqR(SlICo+^oGaa=hBoC>-p zs3Lu0J5kT=SGAP&F@ofdyXts=KVH#HSldPno=Y58WlvP=F&jv#`^O~PA z1@cvOF0z_*@|EyCed}CsS7(^id1pV>kqxU#jQgcy>;b1JQOTCFb9}I7y^+}96Pk?( zdWl^PnVh#EgYYU*H?WI+R!cVoWUUJw4DKD0G3)C(62k}F)lskVV$l3@EP%3{gHnci zo0kB0R^n`#21lhb20ZCBRc>PPCv_cxt#D_PoOa5DhR?+{3r~~KpM@@+{N}NLs7iuJ z(k-en&U4Re-9Ye>wUKctdDV{C-r{8kqEJGkY+Md}2_=BRy2AgZ8pNamVS zDo=Q>a6=Qxqe#QR-NfnxJ~Dl(fNzp8vdA|`c6yE|NWR8ywRmAdk%J_Mu^p)Ia&6{9NY0dmhU~WG&i#9!>hKW$>Ju^_V?Z2K!rFN+woo$GcV^q((P(&jl`voh`dyVq(mxDC_JTd43PsB(Qktn%#aq}nnNMseIw zw?S=el(T`x(!&&|D@Q{X8=`L3+sng_GwWHUD?JVzTT(0*A~36l$K24}otQL{AuFg} z2>!J$hI?2nk%KFIgt?q`GjIM29iYVDs0#}S@ z9<;ZPDh`e<`_E}>NI%20i5T*2loEY@kzN;1J+hkq&e~qvAPQn+Ab&75rzDe$Cns8i z>w!L0SDb&dG_H@9f9+N9k?j0P>AtRlBl&Gb7TR_Lfa*p+wRUu~-5Lfy*>HIi#XhAP zWxc+UXC4t07GP=eJD8;Q@NvtVsb*p~vCVU2sgGNj43Ri+6dq|(3Z%r!j0OqFrO-7a zNZwu#sH&t|ZaohssUn}D*+<@$C>n9e40eDBe|#Yl8fb*y+5iV zn~yUi+cnRg8tC=9Pbj7GSZ#G-KG3hh>}x*L(_+>vfoXC}ZO%`RN&!;t8(hAy4NBN2nC>g&Nmn{AX zbm;r*c(+J}53v*s>BBFZ2_WXU`1tLkxL;f`xc;Pd&HHU@AoDYlGB zJ3X`bC(+>5dPh-9l?tLxB<+vhwc={ePo&3jM_|`JF9sgnn#Lumpab@%N<4XS&Vf+!ApscK9+V z#tw1FrAl^;Fv8R1wAxyvj=9L=n#|>AdjPLka&;wv9^O;u z`qx4pb_r97;&Wkhd=^Rn01JA+p4ZFNZJD7&QpB*y00KuJ6i>}X!SG@HX>U9K0Q;sc zw2eB_;$yznB|_``!~hTaSC#duZT+2iLX|PU_Zk7W6Tcp$QN2W(p!SwnV)CL?&USz^ zSs&PIgU;WMuL`8`H^D3K%S2|o(&by#RXmkbmdEW{^z+*yn)yC5c$H|7Yx5ys#X!K% zHPoNlI{JHPr4a&>*cm>8xsrUHTyYDCSOhFi81sx$nX6<->*TaCu~W`|)k5bLRETNq zz{bOz`_wSFGzx9lF&HAC4Kc*Bd=}b%4K0@#HWOrLf@Rtneak>hdgJ~C8tv84sdZvrfzadHbCn7idrF8a5M8v zj9WOmol?j0QFS}m?>8)GBi^<`G8!*3ULZw@+c zO)ApP*{x+eoRuO*_|9mfl8;}53XD?nPP=pR< zb-~W*l8vu^N_%*1(R_sA$sek-xT9n;ZS0k`yEkh(ZNjbq$IT(3@|NO*YZ3nd5xfL* zyZY6kP0$Xf8%)O-1QH0VqOE`|W-*52;*l|sH?VnUCkN8An_(6*w(L&)o!>s6@UXvfJY^+~!DnU>^>(0sY&$vk`!5sGQP5hj z*+|f}&E({Q%5YBAuBI(2l1@wpc}J{&+707Bh%sGQ!KvBlRuZX>RkgMsr1u#)^sP$< zIGSYn>xvbP6PaNjpFk zrZG%On!p3*Aa(ClUg-Rc{%b~bC(30x@0x%)LHq+r1+2eRFVCPf4V0r9F=+@R7$eh) z5z)r1uxb4%cQ%D}tXj(%OHuZAAT;3rVAet@3 za=R}cA8Q)smw9Inhd<=6FOTK7XnoS|0pt3nj;!l*baWs^qJVX_{4tG-4VP(3Rw=6X#oo8&4-y3{uaqbrY!Q<>KE z=D0}ce}~;#=Sb?Sn^_r*cW{(+&lv|G{@ninTI%R#+d2BUxUNr1SlYbuji0L>tI{)u zxRBq74KwMsLRiQto=p^3InhJ5!!dKmmJ4E-j!S%i3FDFpU5f4pjQY^DsI=Q?pXvR; z+-~i(9`%*3O{;`fH1#j2-m&CwAWm(qls%DZUt{LPieJDv{o&NxZ-k~hWo9G`^S|y)stvpZBwG4|{P01a^KsGDC z__96;yd?G2o`2xY{{W(g&|q&UJ~e52e~O(0s_2FpR%xJN8p;cfU-7!u%xyof3Qugid18_ z%_;TCqZ_79>9eY1AGoZtJq{OWGIUviU;)YXrMArpAqWu{8wP&WX_rVQG86_U8T6(^ zrb|AYH60#U<3(wqaU%PbJP<#8S5pM3(SuWoN)AWY-@)fYUUUb5eKn`*2xGgJFU-7c z!A<8NW9(^qiKjX~O|G8&uD%Y|0IbJ4#Z)1c2xA@(6$pG`{A~D1)cphEHn*$lnoRck zPN91wme;{^6oH92+&z9P&}p(pQA_BBd%%yve_Z|{Ix_cD=;<`&j?U;?&bM>6yA?RJRJBwug5Rs0fGT!mpFNqO^tH~jCS$@ba2VEE&u?bECy$n@ToxO@ z3~#M%yvXJfAM)e1Bi1_kKaXUDca_Z~y`Hlaa{{cAVS%ScTe&#c@w{0!NVVPR_Vdce z$^?^3muGtxB>N<7bW1U7<~(D5I2601deg>;lcK>P-tl3xoK)P2Ei@U?d@{J{l^>R|Dwdwlj>@%vmX;K5Pj=q*VM{p8o(@>YM4|SCwu^Z#{oZ>Nr^k zwm=*l^P1C>I+q6qT4}C|K9!_iHmPost0>+wTeo`3rCpL5dEX~zg67^>ibkJOFC0@7 zvs|zx(GPcSFi0HtHDVMbz76Sj^J(RzQ}h9zeJL&SUnrvWj-c0fVt4&S6N;-dYC0-l zERE^SOF40ipFuL|?*c50F`r7N&A9P$b)JgpcqY-}ytsYt%k-%970$~#K9S?}v6dAg zM^3Vh?&nYfs2#CcH`&)(Xub)*3UpRIWi7%1<;I8a&3AlrY7o4G zbX$huUa~zNIz5DVp*&N-zF+9>zcfp+dEd0IhieJWce5X30SG!p1!1demS z$Hiiq(1$?MOcq_d=hRZoJqwiK0op|aMX7-0cvBG`C?r61h#OvVsC$2yw zj1~iM(O4jVGV<$QH^rbaN zS~)EQG=ZaInv1ZU_#@u%u17p}r!LH|Ei>{^{$;0k`-HYibg|YpZZrm;L*qysPFORJXeK5eg+ zpVA=|{{Zn={?2R7BFTN@r%--g)f zW4Q6zmTGk7$_?ASFs!v#C+ON-~Wyy#|6LxCD}89+i8{ zk<-Pp!KYcnrztVZxzdy^71q4C^wqkE94sf7}Yka?Z>qoW@OKY zf}yRE9N~9lnr8FO=7mV<9T{e}np8MZyS{407t0?kDM{!)sJ;br63OOH$ znsBn!;=YM+8ym6iE1`;K%lyujVa@6zA-&z?%mKuJWK$$3Pb()a&R3J1(plVxMyG_h zAv3!i(2`NK2ZUZRF)$PWiqOk(?;)SG?fn zj_wBZtsu&L*#QxcOn0H)Hx85JCsmA?!2N|*^JK8mcT0znepu zRE^7Co+pd+_VR11AQwF)Ya~(mlBflnJb{jB(KBcLPHX-f=Lr=CPAJYPA8QLj&aY>N)_GDz9Jt<6TB=q=zQosRJG9eNsergOuK3VtM@ldnr@8IiB ziawp{Qr7D7`HO~i2hj2TYu0OJa)J5w9UXE$pw=yLsJ7up7%Be%N*Q5BL)1!Ljp6W~AzZP0nJ;;LtNl$wNthBQQ=>4{D58 z)BbkW;Zui(Q}qn{hR7rBQx;EA9+OEc$F%1kiGZ4ppJ#Cx8%pqgD)Mx6^l;?!f911- z?_3Phrh2?s?jsXv=W!$S`&LO#$9f>GWXkwaic@wH!Z`#IdVPqXa-q=0L2+6V*<<}_ zZP~gI54VkDkCB5=*p+Zb-HpwHc&d+PZ2c6SK&{@iRe1q`{*>d%=J(~Jt90C3Z6O5q z=DGTbA5QTQ{{ZG&u6clZRwLBDiZ55`-{MwM#4uQWK-R219z)CE^&-kXgE5h0v~!7K zIY51R?ONI5^qftn@LR1Bh{*>vnf7{|D#HtmT4I^Y)zVZ|I&V%IrOemY3A}E?=7q@SX>`7;a%9G#3P%wNpbv_z=T3N(2pg3W z%8J8+*y5v^f-t<4bVbpHt);%s2GLn1D?O$Rdoh9Cvcls(s;MhsU2=O9@X^vOXW_S> zHV5a~r@nD7gSoqAl?fUE9u&ta#Fbj+jQj74O0Gi_D2&PgWTuRg_|O&1Zn+Y;zHVntjv)#g18W zEO70V&;J0cK7#0(B9l{|@lxe88^v$ENd1m$nVM<7PhP)_>fS$5G;lA)$K%hY`n$tj zOQkwSEkQ2z3`afG=%^Mf<${33lHIw-8LakHJWgCPUZL}b=0>P|of?B9W4j*ay^fC_)ol5{meoA-qRW3O zIovqFu9@eV64DIk=9-w6OI*1YcCYB`+uD|9nmWfx-UjI{91+6FBJulHNkwm9z?yr7 zKEJgAwmlZD4&hr!vS4yjaxhQYuw_qk6E4a>9ulWju`cmSbtpd=L57?3p)mdhHx{a&ujcxPPT^ zv%6=l!5#;~hhA$Nm2`9zI2N!e905SxjgBi6*2UI=rhKS}J-Ksh;c4VYx}|M$bE?gUOoC!PA!8gkR*x zYUSnSpI7nF*$xXPq>8bH&j4{rJ99;1?f@B%eLEU#8O79NQhfAtex}jp(XZD~w+CZ3 zIR~SA>*I5RiM;T9x9`n7F~S_TZq>oh!t_@T%}w9UurNwPu4O!l)eo2(A zdirfy{Fw4B^UGs{Rk-8lkErOdY4*|B>2ad2+zx(CU7ImMLIid6*+(74S)VBl4Zr5~ z3v>s(fD`-Fk&_qu4y}E279xf=1R{Z)@mZzW?BgV$LD<^1y|2Y<8kP?rPC4V&w(0Qt zl1C?1sM!{Kuflz47pCF0kvylcK?A59701#??f#YOVGXGx%;e9#*cXXc*6Ss@!r_Cd zY!6D?2-(QbmX2Ad>hq+g-(Tzxa``U`fVk_Sw!;_ZGgP z>u7Zzl8V;dRc3eoFC5Z#(a?<3K=$sp-9GUEs>y{LzI|v|We;DoIzFXtL+{$bw_}P4 zbXUoHo-HtX1C>U|tfALf;CtO4SX&0B1%?+__MNj~%g zD01Dr;CcP%NDp+Xt%45kOwa`s$08-b4UBfA$kP-mWE(xcDNNM@KH@MqB9{6bjI)Gu z+aTmpm}rrOa0#j#9>;OH*Ve5J`6uixSMuPuIXr!+s?AHI>o3l{U;=R z8uU7}(?{osGmd^RJVmkT-iCgiOSMf`SAB*RZ>U5LSf7L1u;$F;8b`GLHRIlWTFBQ3 z@Yhhwb$z2Xub5xT1)>ek(~9KFF5~SIz?6764z1=b#NKf}Zg9ZS#(xKt)?%rUp%_V? z>P;~=b6f;ZZM-leB8vXOc*v=A>7ti%94EQ&QqvaWLtme0IL1e*HDX+-k+Qj2VR=qM zuX5d}kz3i=e+jxSiPT;-Xz8j-Hw?X~WAvFu2p@7YirJ_AjM|4cjnVB*c2&3QU1%be zRonERw|e!M8rqMX=TCdGD&~E}x4)%rwb7P{`7R2uJ^7-cZ8S~X-iFexR~QOUH4M{d zOX)j+dLvI|ZdU2n`wGuKCR7nLmjE7pJ!uV_W6@>NZ&h^26#kFQfuC&Fd80he^w~R<+D* z^;#UMDmb04yJd4G*OSVBX5zW|V`s0!l~DYb_Nw?3ratw8QKO+8tL!2h`!Iluh{-*^ zs#`TI(O)LpRkL1N;Ro+jX@JLyjny zMojv|m$atpmsdKa&@%8z;eDygqswN=EYjq%=$3#wMx!511lmVy$6>Z~?wp6oL<~tF zU=duYw9lsKp|%{8cgM_#@yMV$6DzmjNXZ@OqUhx2L}m4ych)mP;~|&7&1#ID9KBAS zIU~u=PM0Q;e%rSwKc#`-)wy2>i~MP6vbPf9q+DOkZVE{pp4+?7zE4GiEVlB=6@6uw z9$aVVCY2_2AvYu|&efYBK^Q*fg2wxY4W_L>Ei7n02Li9Md#D<1DrL({d_xn+UMSZF zX*V9o`R(-RGVLdv?AkBZ!R z-z7H{N2RW^3x-Fzs|GOW=UHrzo+d_fs;I$P!lfs z3osbYD@;x#<|$pRz~-1`ZKi8afn>c%)qKDPO3+KARu^oQkMkOVb%x$Z_6}7? z2Ojm2v#7Z$9Y?8)>zLILqQo$Fd(~PIIdWTi4@ZXULDZ(0W>ieC+OuRkI&M%x%lX{} zJj1&RK*eQd^vVXLr3+)WaX=B8RE*n$4%G{w%cw&zIH6-up>7oc9GXMudR&7_q-4@Y z$Fe?SxyYb>4?~JJV;%cYQw;@qhBO4!rZypZG-hj#PZ`ZhVYghFtoVVZ=vU2V@@`}U zIP|GTS!%YrJ=ddtBJ4Z^zUpghyLQy|N$wPKpZOiDEJlTvgN*yxOm?mk4K4Pis$SHO4Qd;gL^mD z2h_Rb8p&+zID9gN;txl>u5~*=SP}eK$EVFQGHIM`UX@8UkwI%bef_EHA?K%oMU2T7 z%>Mw&nRX$;AWM&}a7Jm7GD;|iy0sZCv|!T_&72xw^4u8o`7PBz4e>;nhUlB{`u_gU zRU^HVH%aM{MxM{M>kD zxyUSIZGgu%%0bHbuecUYeX-X!fn2 z(j4zvV4ijj_{WVF{pUk?_EuyBecf(&AiE zj~0z?LdR|yfXKq;l_$twj}^i|w>J}ABSmX!BVO4linSyzdUYj90K?O-1fpAxPq00x zx0x1>pD3Tu?T6+!V*;~fo%DBfcvKx1-61zJFJV}ZZKqWNLg@nHK9jTU%Zfz`Q$nCdEZUNw(qWG$E7Y!RE zVCmgYU)zE6516tSrACF4kAAyhBgnvCy)K523=4>V$@B}7f+>JXgZ ziegRla&t@xfz^o%&)%fbdPllN*<)Ep*1M0*B=n2*qVeHA%W1VZmphm%54CqZ za&~#YFVWQcZ&_;_(H03=52yLPE7Q|)JW7=|O!ao7{wW$=u-e$z!#=ceR1R5gDEH^e zJHgKX06|ZQ#>mxyJlK^0Pl_?`e58BJON#5GFpK~+~ z=QDC)jybHXpW?FuGR6B3y#-N@U$KAbDPG%2)T1ea(2<|okv>kY z42mdYqxAQ<>1icm%*ICm=YS~^Tpc`ot1DX62?VA#`kT4MD0Kqbrp%G=+*MdX(7%U&_dprErt{=@7wIJFC1+#g3%R+ut^eU%=q z=-`2`ESD&GXvd`$oSgb(`9%VFi8$jUgHD93^OVRN*hgw? zU)h#e>=N$B%DD3I7-KbUnPr2LbD(zHYe^6sxX15V<&)s=c#JiZlh*we)^DS9^byQV zma$8+MIF!|U+YNS@_h@?gqK97v(%S1NVhOu$>p&6B#rpN?L@N4bjw(Az8pq6d&X^F zOrOcPnQmZy3eCu^5YCoEekaj``ufiEE?yId^8!LoBG}*5k<}x3gq+IQ6c)rt;1+v*F%D$IC&T!J@9Z zg1c?bF;BL0sOugb^aR~Q)6?9vjSDoHjaYpr6^Ax;j#SLqBII^%ow1U~MULIb^HdN@ zpIYPQl9cRjol>LXcjAssNd6&u>dR9S8Gkg!J^ujZ9kE-ZPag+&Na@kQt}G-;m~PvH zT-?2$uL^I5J#C|zmvcyKpC)%PV@#d0(5=d@<}BFfn#$TccyOXx9-p%=7>&Ss8dRiq zvEh%&B@UBlfHFdXz41%kX6WFJ8o0KNBX-!h13U_r4op!|w2E`w3x;FHGr+4jbCpPw z(?TIr#U^HrJNK6z2uCFA&HxpZ^_X42lDjH6?^i~K$Sp%^gY!`5W$cVp9$-8H?L>^v zp{-6eG3586658p9=@^pDAGtMFZN&u1I3*E`9w=G0D4?Ist1ri;348(1co*m1tW?@W zbl2Pv1rkOX$q@Ha{YAYf(zBV7@cxSSl*BNmy4azt#hjGAp6{F9;+Q=clz2YPf7 z#?O+8E{2CQyo8JjlZ!U^$tNyL(2g}5xcg?asJ42xl8Mmz3!?Q4T{dlP;%K3h=s?2+ zk9=36&|`7z@t$8aYOI`=W{H*KICVL%Nfp82-1)M{`PJ5Rnf8FPE*l=8`q3l=@^Djb z?ze%@BY~P?RC8qQf<5x79B#*ddbSE>@1*Rs?M}@F_wa!g@LPH#R@Ay}7T)$YmrcBgPOPIoNk0Do6_#?dxul-uOjlLf2!mWlh7H)SYF^}Y zx*=>FyMSnI1w@|EzV&Qkh|SMxO%9?pVkT1Fl&ADMJP#^h_7pA9!4ly|%~Ez+1iHMB zPKEBK7)Zu`^=;4-ohm7C*F+bYX|u zULzoJT)St#+7S~Haz-kKMNnjFBtf`yRYRzRy|Zl^_*}pb<)t`v9)_qT**j>-Bx7zG zHyl;ixg>MGt?6C5tftAAEy;|Y)oN65H5hH#Ses0`f=@1JjBG#6>qew=Wv6vyP1UPg zN*MMgv|aRbr3zw=x=)sF^ews~$7KHihuTP!Qj zn-dW<6Dd~P&eQ3dt38%E`)HZa?d6)v_7`*cSr>FjeGfgqwN;OmRid>n=-rjSQ0{8X zl9NNHSh$Wc8o4QsJ!st~Al; z@JSN(*8zCVV{zo~;F2Y+=IxHyrAd4poN`?U!Ew$B;*nHuPlI>TfomuP9I4`o1DBXH zkzH!j>9han^wX@!d)cVOnKETWY?paciY=!tXqLVge1D zc4OAMP{N?898FHKL&c+WYl349!fHq6qs39YvUZt7J0=8Y;8@;-=b*$*wB zj{T^GHo!dX+0JuOg&SLetJ`IHpFwZAAIm@oswLdW7&Du{7bOY zI;&2CCH%&j6|&o0ZS8_NBji>IHjVhQZRnBGwVOMEEtD4`;?48^tcHT?hNLsyE4CXM^5Q(lZMMgRYe(Y26@lTMCj>b#G10< zXQSIgZirEGqX&w;#^jPkOxuWC0Fno(u3_vbeSb&2K#~fF;N;aqt1XS19r?hNo)CTMa(n?LVLDGppp?&dE6q7MBr)UuwNYS45`B_7p8)MZ62D9> z)M`<~Amr{Gin&UIcp}p%-FebdX%_KaMgzn8Uuf)UkjZBYQ>3m@Nm6$OMJ0*G1v#^k zj~h;z(ll z9$@}_H`DzEX^T>gv(@;mLtfb)H<##sF`rCV6Huw}d#pJqF4BG6Fs@^>yN4ky1<8+S z{#sO*$=St_K0AOicTyd*sIsaXdD%0U&%vq4FCyhKxvtsT-bEph0OzqC>r@fuweW;LMJ7s7mPuK43&d;kJ#)ZW(*tJ=4^hy5!k6r2vv8tA1+ix_j zsOdvfmoWNhlTLz5sS4+vxy~qB;Mo{9y~MqZmYW{e3XDMR)R)1t8iMT;mRGi@NKLu- z0+S@!*ujzroP$$RfM=RRv(aPC9jbzb*pLyrgmN6eIm{Y%J5R60J_y5=@I^sr+J>aC zC>xyPn%}2h>o^*O+3L>@EF{qSLr%7s1$7+Y=Zf_>lGt))&Xb_%OVl>ElO+3E-E**d z(=4s1f}cm2>30|F%y1v6Pp{gp#7`dhV$HjS>v0E$lWu!81BWmqR7JqaB^zSdm`=i z0ciK9%mIR7RQ4v3k3OAeQRHnHZK*exgr$%J~@?J0^6E zO?16a%Z5YwX~+j3%6$ze>EO+^@^#%OQF-noig^K<7a_eQ9^#76Nrq}=qA5hNoQ{5K z_Zx^EO4x=j7e5p>6<8E87H(>o*s2Xw3a8$LG8Ed` zch*u`OfwvSkF`?ZR#>SjIVPW=7<#4)X2=mqlb$jKXpF5KSEs3+LDWYP0{{*&?N)Rn z9iZUxjMN!?*tB1!p-tH5@}6>P17On=8zXxWL`yoKgL8R3O6j``Bt##dTIlJewb{2f88v_HM-TjccrPD_{t-*6TgDElrDjO*xh@Z- zRw>ikb~OIVX!zlLjTG#Xp-EMUAdFzpY9VK~(`T`jmv8M{i7rn;k1bUPTV0pJlf@=T z>fz0Ohpg(clbiwbOWJh(WfVi-^$1pFR_E_VvDt$@x-sE00{d5YRtj^wjy)-gG;nij z{XiRd+5VtOqO%8Nl37PM17hU*;;K?e*N;x-Pw850Hr7n>sNOw&O(n?h;nM6~0bEHW z!H{KnrS7s$4Kg-N*_`+1wMEI2ZO4&>)g`uaz!I(LMYKn+B*}YDp=i-qz6tIW{#1xWqqn>g-1 z=8CkMHP)wnJ-wt4G@(nBL6*mTF_AL)+XB)f;+# z)kjALR}-uBuTrk2h6##`h4merdy1<&_%iM#ZlKBBYR-gRfUG}XY<;L~(2%);q-O)a zy-{>?{{Rs+28T~eaG;ktC+$@uovGp>{uJrV*4Gn$p^kp^vARX=wsoP1=Cg^H1rTIZ zJ8AG(!>Ap=s1=m31Tzn6=bp?X3e0k9tYYAAV8O=}BLost10PSgsM$7Kk4lAhSFiMTO>PUa04u>h;+Yq~Eg;*M86b1b7?B90 zZ_QXDx8P$O)FH1lgWHOL3n;TjK?CWcDqI#$hSklMwQVAuxRq4n)MQrNTrn9v&}j4w z^OWH5Ytw1^KRo$JY}Dlc0Mc*6`_D5~)KjrGjgRUpqQ1{7l=UZp&AX?YpHangHJzF8 zb0FTSV;@+P+cs!_qqQpvxG@^F{{Ye@$5hf_*K~V}3zZKH@swa|71XTi<6IvSzZqT- zTzFgKezgR4O$L*A#^%xXg;pQT03EP@*0wn*qp_vP<0?1{Wt5ORaf;{UjXn=qigt}h zF;Tep9@UwvH^VN{J5knMNmMuc*T}f(xXV!B&w;7)PuFPd=a;L zJ-xJn#DM%!2+0`H1*%y^^)fJ{U7SqHxFK$>wz3T8G~1(>G)CQmhZ*P83TJ4;HqblV zx`4aRJ+oCpy+)s8zL}~RSPjP+>}Xt3*VF1G_$&hB^9LigJDNi}``a3rwlI5C0m-mQ zTWQD{rY?j_jzOMsq_#h5CCQg0sS%g=o@P*R4QPTnc_(g}>hHn_Mih!|MdR312HXcH zHP*oz5j1r!zP3wVt&jfz%YCfee_HNCqn(l|I|k~VDl1nvv9Iu?!sUAcKlZDzb|=s^ z#ipJ#;>JNO(qZCN=Xb#rK`5`HG951CNz&xIxImL!$N-Io4muj zBH>O4YGK97>6NhMGC;*yk-Fp_QRb1B11B6%OQI)zopZsqR)+4zM%=Erjv=(1HYVumI5RW*o5FHcEIUKK}p~<5oaGh4K$M?OAg>H~93WmYFm7 zujpvr8-Aj+hwI3Sa)bI4T*l76w@Q`DCzs??fwR}zl+Qo1yET0(&*ViK{XlKtR0xyR zbepX*8!yd_iDTTW>Icn0(rmYMrje+$Fx}}_miGY&-)|#rWvZjCrjuQrcS@BtD;1qx zSoUD2J4o&-&qayuM&`B)$o8tEbXNd#CzzP3E{=8LZIBV!x{h*lRMniFPgGp|9f4O$ zT;LDXc&gfTG^_srnnj;f)SLWy6cOkE_^R4(Oqdsp;2qc%R2pPF#Dcl|S2XtYJIG9d zngEw(4!{wLs~BUhN5^WS2#^I*1wsQc&onYAu^AuUg)0Ww;!I*-K<(&gsRW&pS8TU7 zCQZ0K@$Fa9Oox$!VEgk$VuYb6YFG?&8?b%q$ZAA6$UIemNoY39cOC3!8-y&tpF#$I zBas zCf;!o{RN2jrOl1U2{+Lp71WGBOMgnuBdd-rdU79np&}2{JP3((lYH5w@?TIW*D8%YtYM zdpm*)d2CO$8j?Bl!!kZgdBlV?O`mL4-_ep-%3~rMjH?k_8p78g5i_ z?&f_T@MEPHr8-J2=n{F977N+B=VOApy!;Drrqta+5(gpFN(JlJLZy+ksUBV>=Pk%%G=?H$JoUDiNN?-o~ zy4GxPHzR}dS@N2EZ~IS2^{-Dw)m=S*rpUXNbYKVmEOGtonEO4RSSiAf0cyHz+6J$A zrriS^@JP{|jCM3Mc+Er{CdWE2L|gu#w)0=xLorqYz~@RsD+YiZ|MT)tXG zB>8RI)~=1Xw`1X*N=An8eT&jpish z$2qQ9?nivW6l2nWwb-R?{mu;o7;kZIJt!@ZW<@#sQ72>@3=VjyAY?XN?f@@p3joOn zwHkI^hrw~1Qy3ZJ2BUOeXo{6gasUVQ^s8KoHjk6vIjaSW&!#z|Alo@VV@6dIT_^O* zbs@>bMR-2quE3ZEkfH9Nf8_@`rbW{hk44;HCHKm&Uct|S19xDd5e3-C5aIU%k0Q|lW zf5o0RI3%SmoKj3vMIVHu2rt$qcBnM;eAxtx0Z2OG}q)+RrcFL>-O=W|F3Qg!fPk zcB;}2IqXd-njwugI{JJ{2-&zFQYlTlHTnzaU9Gx8a;UlcQsm8e@gz#xs%{xY1pHQc zJ`Rp3rujtnonZvdGJu-Q`8(QtF_&nX8a0w4or8DYsOzi{K~JYxg~yfyV~%KSCyFEu z>`}zzswu~6yR(~?3*dsCS=jv<{iv;@m6H-+b6Tn$z+ly;%(B3~5X;BrkT(ASYBeSz zT6J9kT)>gZ`bK;9rYB}UO+}8wFyJ0VT?|I2IrPBwH42kR23de&3BaN;>_mAD$V2_8ivSOPdpqmVG$0u#Vo?AW**^g1T@v#aUMI zJ4iQuJhG?iws72gcCEPNmq#~S4`Ie9&fw1%YT=}NR%|N($TL*WTZ1BMiEgdwOFe$lXy=4J z;oOcvrBG7Fq>dzY8@~>9wbJz#X|$P}_%k;fJ}69^o;gv`B50Dx-0mJoQv1FtnX}c7 z+h?9SzgqtQ9qL=FfWJU(i=SaadEG``)8M}JCbnVIW4GQF*q$nx)4`Y82Y;?Tk6y;} zFj&SFU(gDpPp`DPY8_2$XK}EwY=GIwsYox(f+V9Pj!8JKN%X*oGLpE>DUiV?;ZZUTy8zkaKDBlXgfn0YBmmoz*f^sgToSBnpJC}$MK%oc$0Sl? zIX$yh0|tN`{M0CX@I?^@oq%KMMg*M&>6d2O-uNqHa#R-Gj_4ai2mb&HiZYJP(D#Px zr7d3^MySh$~mj3`Mg~>?i9vLD}uiOGgKP@L2_^(5W+CE39N1}WX>N_nP zN4z?P)HaZ$fl=f*&V4gkb#QN^nTgbb`sc(gDSEC3jtxTSC95uAvXO&=+!Z+FcjR$N z)8gUV15qu~MYpFq{%t}AYkry67zP6}K#}?n^SG>eAd~Fq>E8sx^(M0~=;?da{{Z){ zZP)!A(&>Gg&pG}#d@9yFUGT2rWzYq!=9!zArWYwAU=Be8(wPRA793qP&yX6vpEjR! zBr~qrgAmK?Xy+99N2=51+>s2;KhU8+BES7td%*fK&V02;K#vBtKJ+9JoCdeI;y(F1U*(i5M0WLe6{2qPe# zY3$8xW?73VsD)&e08K9h_ac~*qnVm~5R=R#emTuKbaN#4aCLvfYW_>btqqvtb2o2J zD`puZRxEzoK9R#XU^02fdg(yWl@UE^bJDtw23SXtS|QnoSNa}wwzy}z0nSEisUD9R zIW5f(-Ha&%IHDFsUBLcc;2WMkYB7=MkB%l=XOksJVhsZgDE_OrHzcXrRDUrT2sW+~uugdY4HR)`)WQ;*V~(qBti zW0YRVs;O9 z^q^-8CRuf5ei-*hyq~MR12X>rWZsdfOK4MR$36Y3jkx7OeM=Yk&9S|WgmbPlliw9+ zDbIqNJ@xg(o1~rDv5s1-<<4@x4^OIqrvpD~O?ImbNEK8sC*GvwrO zDNHrk>?0#Ty$EK){YI?<%vH!V$bd4ygYlX&3obTf4k`k{TWDjEjMN2)h@IG|P(v}` zQ4nRuPI&$3#LQmrF2?njfU)MFA^J>vbnVJBzKn-Z@V@*{)B28@92p>+&kO9N0Drg@ z+tVH!`92-mZ&4jb!sENB=Rm=j+R4B^n6E{T^*$4+{f_ncYPE-`?)5!R_7s_Irf4kD zhE_1VGYtO#F+Q}tb80G%d>6dw{b3nBUtk7#vycTI`_{2(-?fU=e#p7#;}H>#c+d0| zizjD8Pthbm_M{ucx+{XLp@A46j`d8me02W+Xb*$U;n$1Tx`Y~WwbOM%XNlJ(9glK7 zzSX)PsnOEp+UW8P(h(`h!KGx4o|hg=W45z0lD>wy^Hg>*PvBIrk8M!LOJfYjKgu6s?7RQ-I9fLFPWt_#ZVk75T61OdUp2Ocu!=wN4xswf_LvY<)>A zpsq4LX*+1u9aiA`YlpZ&xPM9$qmAxX9FmB@_^TSmF0M?7LYgRvpG0JldefqFrUuV~ zPo*&#B4-9zdjJD%c=9DJE~a4$@=H!c~61Da~+yg1wB>7EVV zCX?cyPDsFPH%f;;ClvTfj_9BPUG01bM?bUwUU*@l^Qg_#E-Px+|hBWjf+(b3$+c?@&F>nt)2%F1#Gr&#qa z4=Vm8d_VsH2-joQtYIP>gPBO|8nt3P?~}rxyye<^v~3%!k_YM)p!1>EQ7keGgdvL@ z{f$Ch7Jh{5nY1gxwo;*v842Lhrgk*iy@wV1f+ty*>D!iRs`ANx@X0J7EOxwL}QON`vizzx_Z6`~mIPF&dVt@#eY z;fF-a({}fFSCa3$zKko6MH$X3xu?aj`8V7!R+;pAEiPTufRLEm>E|`h$anE}KCPd>&1aWKP6MlCZdU+O%?cJr-Dq+z za9NK$P=P%)kuRfMi;M`3UgMuFB+MEu(?~YLS3dMD(NWROvd5?N)bXO0Oz!73no_oR zbowe*OTni#sK+Pvsyb>LQK>@hCanU%o$|zvM`|=>kTuKgjF3e#CTx(oDOP=!;5pW!4fs;+`h*<%xr%j^K_#sTuMYXT3Zy@o!7&{{RndHCv5B2z3OH%AOZ+7)m(p^WM7H za+zla`XeuOYkQV<7ct1hp_Z#Z_Cn;Nq#0MJo1YgD4MvGfR-BMXEDz za&wwf=(zSjX%vyNF~-j070=3dw7;-%VxPScS&>+uK2(H^K`8GS5;{; z+B1R{@)gR1>5+=phcYqhBRr5eRCAjvhVtLcha>_=ap_$?&n1y;nBrfM$DFD3s4WgE zi4?jyRvh3^F{qc(`nj#6YfGYbvBI2Yfav1SwNWp2*0(kjMs~9>^sLXZ&PrU79Rh;O zsTa&swT>49KmBn+&ALTw?h|y}H*zGA{V2=Z-j^fNY*ok|_JwC<1d>STtb;t_fKEuo zE)H{l;z72$c;J9CDaK7hl_yNXc%3{{V+b_#WdQ^{2qemxX12@b}eXZxAhDzr-4GwV4XWGTGUI z``2qp4iA=pAlKxU2|@?e-wr$!@ZYJrYR6Hsx0>-@HQuw%ccWuCU^^PoDb5a$mRpzX zXN*1=^p`|9+DAmvJq=LJ(so{{R&~23gA@OwF1#7Hgw=S54_#D@!!C zf#OKfSP%~(K+Schb-}}*>{;!h(QNwKDUmH>cGJ!XPze4fKkHZ}y~Gmzqe&dG$k8xm z-~7K}T+EiACvQ#qlA@Ay45&mmG;1Vmjsq(U5NKayXTy)jKR_o)_`$B~nq*)83we6` z9YDtH{awCmtFqvYI(+*jN1fof3xnUOSmEjCpom}Gcn6_uU5e3F)Pq5v_BQckWA z_@s&cq5%E<0EweB(cQqeL;m2FHlkw+5)uPyxK1 zT;LDsR*bnMmk5Wy+KzF@6=yngA}(eKj6tmk=jF*nMb-ZR@XGfljYiHEeC-w6tH$#P z#wpuq;pEKZ=yuCZeMUeFV0XzBE>x&~4LivCEVjB}wS-2eAb(oU=6A8_y)+_a*bXYw zu%{9}Tp2P>DUdVt6{qS`*cm*DT0PyuoMxH4xXOYbsju0EnpKGlOE-P7^OD`c_kUBm)C39fElk4cL+1dWBZ zn260Zs4{un)xyrC`Z_S1WQ=x}as@DKX#LdJB2k^42(8M(;fO}WU=*oyLsWP&<4m-^ zw{+SD?hmM@!fhAnCUcIg@UYB}Hk=j-Hu67|*Jlo?uFfW}$E=*h_+U4YQr{Ms^oD{gHB0KY6Bp5AU+BHloBa3E!aDpd(=#io`pRmIio-N4LS_Vsr?F9;mozii@F`S zAekAEZ#;IdL8Ww$i}{$h2_H(jYgX3!X$Y{tmc+V+eal!ayGaCLr{wU|uhgAwbWdedm)&NAK5ZPlxP zzt$wCcWKg${hfd7K`LT4wE8-ShpvAibcFtyxc>msD~GAA{2l!#5u(|@=CT`vmsRdS ztD?6e53RNM`g5f}ezEaS@SU$4wT*SS6yMuk zG7aIBhGpH1;kh4tS63{yWQ+wx^Jw_wWP1ylAdunWVyEsaCTO0MO`WPFQ&As5Vn1r; zI3Aw{tFA&Kz7hgaxExYk4x}|hqfuzz^>*wj6NU6?hNO_S)!4_DZLB*1NZS5Rgf&0d zt9@afR###Gs@p@qEBgwUUD`NceSxY;hxt|VMa``~)&Ss>-kBKl$%ihjvNq#Vb^w_< z&w6xWXFghx8@)(~m{Sxe=H}IL*#`H_$CJ;cJt{c!%;ajy!d*h~K;*IhYE2Gta6_xw9{zTIPxk;N~!cT4cPfYh`WLOPEIJIb26%AbkQqG$o`b` z5sL;6YRN-)5eH5`SNhZ<$Gf8U)9W8i^v*I?>geu}j^o&WPxYnRJr<4&1~%Vh4fLhl zk;p!T(J5CZZ0~v0JTvPC)GW@Obosb|e+h}?r?>6?mFe^vk5MGg1?2Ren{!37;aXp) z9Adj?lzotQ=%f|-=bENf5J!uEHe`eQR#}e6*lB@`UqBf?g0i(|XBuy!67{ZDVs|(g zOjM;mCqX?m5@ z+p@fjR|5kzk>ffE@Jzw1U;tFED0UV}t>};el2(keC#m{VPwKlf1o43|A4H?NnjP*P z81w02nKOfRKS*A5b=xH9OnLfP4l!MgHlu$G@;aR)u&^6lNscj&JJ&(-xG;sz%PVI+ z>0zSN&{wv)MbwQT`lRD{?kNpZJDNFCM@P5n1=B1gnU3Xbg+Aheo!6F%`gQC!8bpfD z48@61JqM*yR%FYnQC*a4j}Y}EGm$%EJYliLUek$_R@}H}YS848TTe1m%M*?vUF00nO^94^0NKf?IdUzW0gAQQXij*eyAH(+u*bz&VDmBL4%JscF^uHUH)RD` z$K|@VKYUPzlN{9CJV0Rgs$`PjkD0c^!N)adO;NjYUxClP6jvn#+qTvq_oo*_w$bM8 zKn1skQ^&fIOpgX#L|marrv4rJZEQN;%Ur&=FfFCe@RvWUoE)0y>GHVtc-P@SA`*EI zq*nLVmsW{%lCP3iIVaM)5Y2xl%{-5TmK>hWk2!eB_?5KKI-b@ZoJG9Uw6=1SzcH(_ z?an=L396o_XUWmfcr1Amc~Md5{{Y5UiTZ5U63cyUdjV2>xgb%n`+_;7{%szS{{SA) zPL|SI!|~_V-{Wv!+}c@Ov{AG{Lhbrkf`8Ce{&(4)U&eF^{-Oj%`9GV8yLY4K^LmkZ?;9-;hQc3V`4vRfsA z5~092BN+#g{cF@=(dguqneur#LxHV3#-A3=g}u(XCsDbU>0>g_ZzOi=hurP&UClO& zLz(P?R$-n=Bhy_|;sbRTfxQ`L=De3Wz0kFrdHR?{&Ak5r{{TPUytYju#jME`xJHjr z$|#cY{{Y8sll(jQBP4p|1aFz0akLM9bMOH*%9JIOBb(^ojuy{_olSEd zqpMxs#}I-$iCR$*IoJuvAGHLT)rYi)7i|zBvPY-IW|VBwq~pqC_P60d!617IPQy%f zGDF{=GC0E$K51J`vDH_|R9c@qa&z!$QpU|t)-~8eYKs^Ez8H#L!%ybe%$l-&E4w4# zHEIC8Tdu(_bwC*7u^#klCQ0g;DAaPKW1o6rjTt4Vlk5_ErjUN3wRC2dR{IrWZTYK( z7$+uzQlvW$IcAbb=(;wJmQY6c%aM|61oB@;zR_sbIHFWWNhAVmI)7(#VnDYF+ptGJ zG)8QYL_VM}KTm&JWL+GL(L`C!?%Y#t9Qqaz;-#YYu$?X_KRp{x6>kr2R+4mJXsXtne$y%31Q09L~Z(i4{#&rG}h6Yn(TvO6qYUf)_Dzzc1v4G zpOaZJjO12nCUvm1M%*e$i*`^2UIcGSggcB^d1<)D6&fg6y@Wg~Csj`J~Lh?GieT zm5)$ay|v1$gB&+~wNad)_z{~7b4H|j_p7>2@1^w_BW3;z5@V1K2(IRzKJ`rU8oeB` zO4mdrH*yEbIjyHNa=Ik!wNEX^1&lYKq*~ z($3phPmppBeJHk}RC=w#{$^Fc;k~QQpL~Kti;vouOnr*qfNE164vioT z+0H?!L5ge+Jt`+b$Fp&;PAIJxAX}+1&tX*EfDfI-Vt}>TBW>7vVyJkF!Vd~e~M&NK#$2T*)lj3z=|5G&Q#G&ivBsbyUB-R$z#ra z>YHztEhxvJ?wFoQ^@#1(WkrzeC6Cf`?@-%`roy`GrFAZd)|TG#FD^NdO$3ShBtz;C ztww^$P4IL-4EoaZqX7$-k*Ub_c~$*5MP!TIxDSaZq??C1U{emG+B7TVWGv(SGl6U&x) zWCZ6NSFiDY6Y+9-jzZy2w-M_q#JQX#Y*EhLiKFY-+*F5~mU{{VVtmB$Qi zNgUbIEjwZ*_$gGd*j^K&obnVw2w<2HpFuq$ek5i z95Bsd57Q#N_l_{iZ#iy2MMe9M(VzUa&fWP^x z4DufHL*v#Yofc^0QZd`&vdN><#t9F3dvlLk8$+B^1G_lL^`lRNE?A_98|7zg`g&2O zak9lQHiwLXOfbA-a)OD^0Mr7Ejki-mj|2Odk&fRqp_VwjV?3PHBR99sbwwFwI0NQ| zzoGc!Z6mR1w{Yp&Ero^ata6158=v&9uA5l#aM+I{;vuMy3zJ&Z@W%iWOaSgU;MaCK z$jx?mnfN@=?G?MkBrXo<&paH{mRQT=<>b<2!udmKbkW2BY$tqFlT1>RT@iA1JK4_7 z8gM=RYb@%yHe$}=I~R#@Te38kY}h#<9!+xRk8|MagWdfrJHz&D zUPhQd{{R_bm;w1GRy-Ux0;|#Jds)D zi8DqmRAt*I((c<*MPP9FKf#8wcS9=CUG2MIm^2qm%wY&q5`TW|jWdZ3de z^lc9JT$A`Q5f*S{J%vj(LJmc~&%>ym9LmmI91;#H8kQE$%!)bY^k}O+wqSOSc)vdVq+5vg$k4G+OMH zL9ud2e`<;?j|aL6103;JR8*ZJ4^h?Nvw-e!SdQM*abG7pE@+}A+pOXb^*~CGQR_~l zFRs4B*Q)KV2+A12^))DGu8D02sqJm9WZvpg;~)@yeJaN+(PRzZN=K~gANG6CDJODr z%baKJM3*L9_>{USnw_g@+KtVtHs*=hGCgo{ntdK;GH{8o-6 zF%7nqrtVn?8&~~vM7d_HZQln#>uc>hrt}MYEo$NQU4DPz+uHe=OHh4r???XtrRuZe zgp^a{f$L7LoAMSKHN1N)<5g3R3m;nDq{qK1NaX9aixw7(?TNP2^m}_~!B~|C>KvSp z`q$ZXSQIfM;u_g+$mB*tJZ-JpY-5l}?ZtMW={9o|H##bwF!i+Bh41)W5&>xrHx)dw z`LCS${bjweJ@1av`fyTcST&+!2r5}2dEvWTcIlzkr�uofk7 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 O{|2_p-nc=4gZ}{Y_7x@o literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/video_img2.jpg b/app/src/main/res/drawable/video_img2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..03c83372f14ab5d54180e1f8a1dd947d35b239f2 GIT binary patch literal 25572 zcmce72Ut^E)@T3)3y6qx0hJ~-^iHq=0s>Ma5 z&_qfI9YXJf8tRL8?!9m3`)A(VH*dbT`9Ai}+2`!N)>-AOy~@ep$pqk{mb#`ofPw-5 zpdkMNPKE(@02j~GUZ6d9@dDk2OAHqoS#PkjGBdME@bGcoP?S zO-}xSvp(4JsogU>kdC{ro3#(b#?I>3A`}dlF0nGP0@>MtR=4GETm4_RlR5yy8A=JN zBr1yQ07?c5Dh7&^MgRvHNJ^?-;QrZ8Q&XIxp`;>DYFq?RQc_Y-Qc<2iO-)5}`WI4^ zRHsfeP+z(xq0e}W=JIt(DQSZz?w-+1Jhz|6FdIGfcv&p-sh*cl_KxAJ&n*0Rt$K{f z3$c+m_{U8E6yz08{Q`i23;-q7pSzO>6bw|SC8b}U3;}4V$de3I3;YBn8U)lKR(lQj(VqR-s1#tqepJL_D&K>J?Q@j z9DlzDW2$;Z%Rr#md&w8Mpu+rP(~CDaG0*<~?!PoXjWGY&HymPN z;oY1plsv;rvPBV7`Bg3!nK~zoq+=1pXJ;PemEgT`XLa_~Jnj*;R&fIJ>ji{02sfwh z&m&!MvqT@Hf-obdUlrS56`p2@b+h;Yp(mslZs`k3g)nUGb5?&KjsHBu*zR;SLQ93sL zQ(;?>==fK~7bk$7z`giUBuG})X|b_t*r+;t(LP8(hEqWlDO}0+ykE>`88Ml*S*h{l zO_Xv7HVJpS-94T6vYk8>uL+~wKlBv9S12vJ!R*_<(KM;GWiqwHG`R}$u;a|P^#lDT zx>SC)U|8-%&V#^wS(uW%y_{vQI7rRYipNGTuc2ETupK*ztj7&VWvlM$!T#s7w!;^E zSxX8lFiISgU$51p5&4~Uv5~sUlPxtxRQLZ91^&G0>}u9NDxYM1GxkVl+Zjx34WhjB z8&zA0zxV5Z-uv$dm-a!z*eB?9J>rZY z2<Y*$d#E!RZrGmdv#$0QJD1btI~#4aXC}mfexa`eF&lE#?GpQ~6~b z`SySfB2mI-H0t?M%mMKA1R$j<52c_;nw-YUHakWx057XA6*GG~`w&qwf*7Tl>4*nG zsY6@H7D#IJyYh@t#Y5;B*<`59cfK-n&Eo!V`RJ~q08ePf9jWW4=md+Y3}L=*28%Ov zZkn_6-mDM%r_JtoJwzKsh4TD@^)I&c#lU=r+Jw6ls(mK_lm0-F_W-%=^g9R=|I6Bf zecJIh+n~R=5`fBzhKA=!G`qV)d@L-ib+1B8P(kg>A;Q9Xwkp?Yz#%gtD@7-*RP=+i`{~#`)rLE`Xs-ux!X^6Q#~ykemH|o3*!FC}F1>_d&|_8rKr+@f z7;Qb4k?Cz_k|N~QzcV*+ifyN*u@xH=sUlTeTY^@!$p7dj;gbeQyL+S@ZP!%a)c7h= z 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 - + android:background="@color/fragments_activities_background_color" + android:focusableInTouchMode="true"> + android:orientation="vertical" + android:paddingBottom="@dimen/padding_login_big"> - - - - - - - - - + android:background="@color/white" + android:elevation="@dimen/card_login_elevation" + app:cardCornerRadius="@dimen/card_radius"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_full_screen_image.xml b/app/src/main/res/layout/activity_full_screen_image.xml new file mode 100644 index 0000000..5689aac --- /dev/null +++ b/app/src/main/res/layout/activity_full_screen_image.xml @@ -0,0 +1,14 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_otp.xml b/app/src/main/res/layout/activity_otp.xml index f36c8ed..cd0e40b 100644 --- a/app/src/main/res/layout/activity_otp.xml +++ b/app/src/main/res/layout/activity_otp.xml @@ -1,81 +1,90 @@ - + android:background="@color/fragments_activities_background_color" + tools:context=".OtpActivity"> - + android:orientation="vertical" + android:paddingBottom="@dimen/donate_padding"> - + - + - + - + - + - + - - \ No newline at end of file + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/event_list_row.xml b/app/src/main/res/layout/event_list_row.xml index cb27433..6c4ae71 100644 --- a/app/src/main/res/layout/event_list_row.xml +++ b/app/src/main/res/layout/event_list_row.xml @@ -1,74 +1,81 @@ + android:paddingStart="@dimen/margin_5dp" + android:paddingEnd="@dimen/margin_5dp"> + app:marker="@drawable/marker" + app:markerSize="@dimen/timeline_marker_size" + app:startLineColor="@color/colorPrimary" /> + app:cardCornerRadius="@dimen/card_radius"> + android:paddingStart="@dimen/timeline_padding_horizontal" + android:paddingTop="@dimen/padding_medium" + android:paddingEnd="@dimen/timeline_padding_horizontal" + android:paddingBottom="@dimen/timeline_padding_horizontal"> + tools:text="Title" /> - + - + diff --git a/app/src/main/res/layout/fragment_change_email.xml b/app/src/main/res/layout/fragment_change_email.xml index d28b2e1..13fce25 100644 --- a/app/src/main/res/layout/fragment_change_email.xml +++ b/app/src/main/res/layout/fragment_change_email.xml @@ -1,152 +1,156 @@ - - - - - - + + + android:layout_height="wrap_content" + android:paddingBottom="@dimen/padding_medium"> - - - - - - - - - - - - - - - - + + - - + + - - - - - - - - \ No newline at end of file + android:layout_height="match_parent" + android:padding="@dimen/padding_login_big"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change_password.xml b/app/src/main/res/layout/fragment_change_password.xml index 2b34fac..5d7d2ef 100644 --- a/app/src/main/res/layout/fragment_change_password.xml +++ b/app/src/main/res/layout/fragment_change_password.xml @@ -1,134 +1,136 @@ - + tools:context=".ChangeCredentials.ChangeEmailFragment"> - + android:layout_height="wrap_content"> - - - + android:layout_height="wrap_content" + android:paddingBottom="@dimen/padding_medium"> - + android:layout_height="@dimen/view_height" + android:background="@drawable/round_bottom" + android:orientation="vertical" /> - - - - + android:layout_marginStart="@dimen/margin_big" + android:layout_marginTop="@dimen/change_email_margin" + android:layout_marginEnd="@dimen/margin_big" + android:layout_marginBottom="@dimen/change_email_margin" + android:background="@color/white" + app:cardCornerRadius="@dimen/card_radius" + app:cardElevation="@dimen/card_elevation"> - - + android:layout_height="match_parent" + android:padding="@dimen/padding_login_big"> - + - - + + - - + + + + + + + + + - + + - \ No newline at end of file + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_donate.xml b/app/src/main/res/layout/fragment_donate.xml index 92c7d59..bd961b3 100644 --- a/app/src/main/res/layout/fragment_donate.xml +++ b/app/src/main/res/layout/fragment_donate.xml @@ -3,56 +3,58 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context=".Donate.DonateFragment" android:orientation="vertical" - android:padding="@dimen/padding_medium"> - - - - - + android:background="@color/fragments_activities_background_color" + tools:context=".Donate.DonateFragment"> + + + + + + android:textSize="@dimen/textsize_big" /> + android:textSize="@dimen/textsize_medium" /> - - - - + android:padding="@dimen/padding_medium" + android:text="@string/donate_now" + android:textColor="@color/white" + android:textSize="@dimen/textsize_medium" /> + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_edit_profile.xml b/app/src/main/res/layout/fragment_edit_profile.xml index 91a6b45..beeb13f 100644 --- a/app/src/main/res/layout/fragment_edit_profile.xml +++ b/app/src/main/res/layout/fragment_edit_profile.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" - android:background="@color/fragments_activities_background_color" + android:background="@color/white" android:focusableInTouchMode="true"> + + - + android:layout_marginBottom="@dimen/margin_big"> - + + + - - + android:layout_marginTop="@dimen/margin_big" + android:layout_marginBottom="@dimen/margin_big" + android:background="@drawable/edittext_box"> + + + - + android:layout_marginBottom="@dimen/margin_big"> + + + - + android:layout_marginBottom="@dimen/margin_big"> + + + - + android:layout_marginBottom="@dimen/margin_big"> + + + - + android:layout_marginBottom="@dimen/margin_big"> + + + - + android:layout_marginBottom="@dimen/margin_big"> + + + - + android:layout_marginBottom="@dimen/margin_big"> + + + - + android:layout_marginBottom="@dimen/margin_big"> + + + - + android:layout_marginBottom="@dimen/margin_big"> + + + - + android:layout_marginBottom="@dimen/margin_big"> + + + + tools:context=".ChangeCredentials.ChangeEmailFragment"> - + android:layout_height="wrap_content"> - - - - - - - + android:layout_height="wrap_content" + android:paddingBottom="@dimen/padding_medium"> - + - + android:layout_centerInParent="true" + android:layout_marginStart="@dimen/margin_big" + android:layout_marginTop="@dimen/change_email_margin" + android:layout_marginEnd="@dimen/margin_big" + android:layout_marginBottom="@dimen/change_email_margin" + android:background="@color/white" + app:cardCornerRadius="@dimen/card_radius" + app:cardElevation="@dimen/card_elevation"> - - + android:layout_height="match_parent" + android:orientation="vertical" + android:padding="@dimen/padding_login_big"> - + - - + - - + + + + + + + + + + + + + + - + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_gallery.xml b/app/src/main/res/layout/fragment_gallery.xml index eff8ef3..37bac63 100644 --- a/app/src/main/res/layout/fragment_gallery.xml +++ b/app/src/main/res/layout/fragment_gallery.xml @@ -18,9 +18,9 @@ android:visibility="gone" /> \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_home.xml b/app/src/main/res/layout/fragment_home.xml index 3fa3c4b..0216c90 100644 --- a/app/src/main/res/layout/fragment_home.xml +++ b/app/src/main/res/layout/fragment_home.xml @@ -115,7 +115,8 @@ android:layout_width="@dimen/no_margin" android:layout_height="match_parent" android:layout_weight="1" - android:gravity="center"> + android:gravity="center" + android:id="@+id/homepage_abhinav_civ"> + android:gravity="center" + android:id="@+id/homepage_vivek_civ"> + android:textColor="@color/black"/> - + android:background="@color/fragments_activities_background_color" + tools:context=".ChangeCredentials.ChangeEmailFragment"> - + android:layout_height="wrap_content"> - - - + android:layout_height="wrap_content" + android:paddingBottom="@dimen/padding_medium"> + - + android:layout_marginStart="@dimen/margin_big" + android:layout_marginTop="@dimen/login_card_margin" + android:layout_marginEnd="@dimen/margin_big" + android:layout_marginBottom="@dimen/margin_30dp" + android:background="@color/white" + app:cardCornerRadius="@dimen/card_login_radius" + app:cardElevation="@dimen/card_login_elevation"> - - + android:layout_height="match_parent" + android:padding="@dimen/padding_login_big"> - - - + - - + + - + - + + - + + - + - + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_share.xml b/app/src/main/res/layout/fragment_share.xml index 477080c..c38d5a8 100644 --- a/app/src/main/res/layout/fragment_share.xml +++ b/app/src/main/res/layout/fragment_share.xml @@ -1,32 +1,39 @@ - + android:layout_height="match_parent" + android:background="@color/fragments_activities_background_color" + tools:context=".Share.ShareFragment"> + android:layout_height="wrap_content"> - + android:layout_height="wrap_content" + android:paddingTop="@dimen/padding_medium" + android:paddingStart="@dimen/padding_big" + android:paddingEnd="@dimen/padding_big" + android:paddingBottom="@dimen/share_margin_bottom"> + - + - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_sign_up.xml b/app/src/main/res/layout/fragment_sign_up.xml index ae669f5..ab35171 100644 --- a/app/src/main/res/layout/fragment_sign_up.xml +++ b/app/src/main/res/layout/fragment_sign_up.xml @@ -41,16 +41,6 @@ android:paddingEnd="@dimen/padding_medium" android:paddingBottom="@dimen/padding_login_big"> - - - \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_videos.xml b/app/src/main/res/layout/fragment_videos.xml new file mode 100644 index 0000000..3064337 --- /dev/null +++ b/app/src/main/res/layout/fragment_videos.xml @@ -0,0 +1,144 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_view_profile.xml b/app/src/main/res/layout/fragment_view_profile.xml index cf7b382..c9e4375 100644 --- a/app/src/main/res/layout/fragment_view_profile.xml +++ b/app/src/main/res/layout/fragment_view_profile.xml @@ -1,9 +1,8 @@ + android:orientation="vertical" + android:id="@+id/fb_link_layout"> + android:background="@color/colorLine" + android:id="@+id/fb_link_line"/> + android:orientation="vertical" + android:id="@+id/linkedin_link_layout"> + android:background="@color/colorLine" + android:id="@+id/linkedin_link_line"/> + android:orientation="vertical" + android:id="@+id/employment_type_layout"> + + + + + + + + + + android:background="@color/colorLine" + android:id="@+id/present_employer_line"/> + android:orientation="vertical" + android:id="@+id/designation_layout"> + android:background="@color/colorLine" + android:id="@+id/designation_line"/> + android:orientation="vertical" + android:id="@+id/address_layout"> + android:background="@color/colorLine" + android:id="@+id/address_line"/> + android:orientation="vertical" + android:id="@+id/country_layout"> + android:background="@color/colorLine" + android:id="@+id/country_line"/> + android:orientation="vertical" + android:id="@+id/state_layout"> + android:background="@color/colorLine" + android:id="@+id/state_line"/> + android:orientation="vertical" + android:id="@+id/city_layout"> + android:background="@color/colorLine" + android:id="@+id/city_line"/> + android:orientation="vertical" + android:id="@+id/achievements_layout"> + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/menu/activity_main_drawer.xml b/app/src/main/res/menu/activity_main_drawer.xml index 2eddf2f..31ad412 100644 --- a/app/src/main/res/menu/activity_main_drawer.xml +++ b/app/src/main/res/menu/activity_main_drawer.xml @@ -37,9 +37,9 @@ android:title="Share" /> + android:id="@+id/nav_videos" + android:icon="@drawable/ic_ondemand_video_black_24dp" + android:title="Videos" /> + diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_saar_square.png b/app/src/main/res/mipmap-hdpi/ic_launcher_saar_square.png new file mode 100644 index 0000000000000000000000000000000000000000..33ffd82f149dd3760a0a8a1c91175fa2243dd215 GIT binary patch literal 4381 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 VrzC@Pn$iFO002ovPDHLkV1hJ}Z65#t literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_saar_square.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher_saar_square.png new file mode 100644 index 0000000000000000000000000000000000000000..7d5bfa7b319efb5d3956e5814837a87a101834bb GIT binary patch literal 14104 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 Rf5aO=2B;`eCuSV-e*o+YS{(oY literal 0 HcmV?d00001 diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_saar_square.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher_saar_square.png new file mode 100644 index 0000000000000000000000000000000000000000..f7063c6edcde145938d42ecf4baf4700f4b01e44 GIT binary patch literal 23089 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 #ffffff #000000 - #ffffff + #f4f4f4 #d9dfe2 #f4f4f4 #00edff #006fff + #ff001d + #b0b1b7 diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 45fea76..1f3692c 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -21,7 +21,7 @@ 25dp 1dp 32sp - 56dp + 56dp 250dp @@ -32,6 +32,11 @@ 5dp 10dp 30dp + 128dp + + + 32dp + 300dp 8dp @@ -43,8 +48,9 @@ 20sp - 3dp - 20dp + 2dp + 15dp + 12dp 200dp @@ -74,4 +80,13 @@ 80dp + + 100dp + + + 32dp + + + 40dp + \ 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 978f3ae..16f4037 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -9,6 +9,7 @@ Profile Logout Change Email + Change Password Share Connect With Us Donate Now @@ -19,9 +20,11 @@ View Profile Edit Profile Change Password - No Internet Connection Found\n\n - Check Your Connection + No Internet Connection Found.\nCheck Your Connection saar@iitp.ac.in + Photo + Please enter all fields + Videos Vivek Garg @@ -124,12 +127,13 @@ Skip Login SAAR Login SAAR Sign Up - Verify your Email ID + Verify your OTP Email or password field cannot be empty. You have succesfully logged in. Failed to log in. + Please fill all necessary fields for registration College Roll Number Name First Name @@ -140,12 +144,15 @@ Confirm Password Date of Birth Present Employer/ Educational Inst. + Employment Type Designation Address Country State City Achievements after Graduation + OK + Error 2012 2013 @@ -233,6 +240,9 @@ Failed to verify otp. Please retry. Successfully registered your account. Please verify your email by entering the OTP send in email. Failed to register you. Please correct the errors and try again. + Roll No field cannot be empty. + Succesfully sent the OTP in your email. Please check your email. + Failed to resend the otp. Old Password @@ -260,5 +270,19 @@ Forgot Password? We just need your registered email id and college roll number to send you password reset instructions Reset Password + Error requesting to reset your password. + Successfully requested to initiate forgot password. + We have succesfully verified you. You can now change your password. + + + Succesfully changed the password. + Failed to change the password. Please try again later. + New password and Confirm password does not match + + + Reminiscence : The\nJourney of SAAR, IIT Patna + A throwback to all what has been done and a way to express our gratitude for all the love you’ve showered upon us with your support and well wishes. + Au Revoir - Class of 2019 + Here’s the batch of 2019 celebrating their farewell in their own rocking andaaz! diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index 22ed55d..43e42cc 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -6,7 +6,6 @@ @color/colorPrimary @color/colorPrimaryDark @color/colorAccent - @color/colorPrimaryDark