From 19c91f669ee5c0b35a25b8cc86af8954ef201158 Mon Sep 17 00:00:00 2001 From: saunak Date: Mon, 18 Jul 2016 16:44:22 +0530 Subject: [PATCH] BookShelf First commit. Commit till the creation of home page. Where on clicking the login button we are taken to the home screen. The home screen is still not functional --- .gitignore | 8 + .idea/.name | 1 + .idea/compiler.xml | 22 ++ .idea/copyright/profiles_settings.xml | 3 + .idea/encodings.xml | 6 + .idea/gradle.xml | 24 ++ .idea/misc.xml | 300 ++++++++++++++++++ .idea/modules.xml | 9 + .idea/runConfigurations.xml | 12 + app/.gitignore | 1 + app/build.gradle | 27 ++ app/proguard-rules.pro | 17 + .../saunakc/bookshelf/ApplicationTest.java | 13 + app/src/main/AndroidManifest.xml | 34 ++ .../UI/ForgotPassword/ForgotPassword.java | 24 ++ .../saunakc/bookshelf/UI/Home/HomePage.java | 192 +++++++++++ .../saunakc/bookshelf/UI/Login/Login.java | 51 +++ .../UI/SplashScreen/MainActivity.java | 53 ++++ app/src/main/res/drawable/action_search.png | Bin 0 -> 1764 bytes app/src/main/res/drawable/drawer_shadow.png | Bin 0 -> 171 bytes .../main/res/drawable/edittext_bottom_bg.xml | 16 + app/src/main/res/drawable/edittext_top_bg.xml | 9 + app/src/main/res/drawable/ic_drawer.png | Bin 0 -> 989 bytes .../res/drawable/rectangular_text_box.xml | 12 + app/src/main/res/drawable/splash_screen.jpg | Bin 0 -> 21722 bytes .../res/layout/activity_forgot_password.xml | 30 ++ .../main/res/layout/activity_home_page.xml | 31 ++ app/src/main/res/layout/activity_login.xml | 74 +++++ app/src/main/res/layout/activity_main.xml | 16 + .../res/layout/content_forgot_password.xml | 41 +++ app/src/main/res/layout/drawer_list_item.xml | 29 ++ app/src/main/res/menu/main.xml | 24 ++ app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3418 bytes app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4842 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7718 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10486 bytes app/src/main/res/values-v21/styles.xml | 9 + app/src/main/res/values-w820dp/dimens.xml | 6 + app/src/main/res/values/colors.xml | 9 + app/src/main/res/values/dimens.xml | 6 + app/src/main/res/values/strings.xml | 26 ++ app/src/main/res/values/styles.xml | 20 ++ .../saunakc/bookshelf/ExampleUnitTest.java | 15 + build.gradle | 23 ++ gradle.properties | 18 ++ gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 160 ++++++++++ gradlew.bat | 90 ++++++ settings.gradle | 1 + 51 files changed, 1468 insertions(+) create mode 100644 .gitignore create mode 100644 .idea/.name create mode 100644 .idea/compiler.xml create mode 100644 .idea/copyright/profiles_settings.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/gradle.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/runConfigurations.xml create mode 100644 app/.gitignore create mode 100644 app/build.gradle create mode 100644 app/proguard-rules.pro create mode 100644 app/src/androidTest/java/com/example/saunakc/bookshelf/ApplicationTest.java create mode 100644 app/src/main/AndroidManifest.xml create mode 100644 app/src/main/java/com/example/saunakc/bookshelf/UI/ForgotPassword/ForgotPassword.java create mode 100644 app/src/main/java/com/example/saunakc/bookshelf/UI/Home/HomePage.java create mode 100644 app/src/main/java/com/example/saunakc/bookshelf/UI/Login/Login.java create mode 100644 app/src/main/java/com/example/saunakc/bookshelf/UI/SplashScreen/MainActivity.java create mode 100755 app/src/main/res/drawable/action_search.png create mode 100644 app/src/main/res/drawable/drawer_shadow.png create mode 100644 app/src/main/res/drawable/edittext_bottom_bg.xml create mode 100644 app/src/main/res/drawable/edittext_top_bg.xml create mode 100644 app/src/main/res/drawable/ic_drawer.png create mode 100644 app/src/main/res/drawable/rectangular_text_box.xml create mode 100644 app/src/main/res/drawable/splash_screen.jpg create mode 100644 app/src/main/res/layout/activity_forgot_password.xml create mode 100644 app/src/main/res/layout/activity_home_page.xml create mode 100644 app/src/main/res/layout/activity_login.xml create mode 100644 app/src/main/res/layout/activity_main.xml create mode 100644 app/src/main/res/layout/content_forgot_password.xml create mode 100644 app/src/main/res/layout/drawer_list_item.xml create mode 100644 app/src/main/res/menu/main.xml create mode 100644 app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/src/main/res/values-v21/styles.xml create mode 100644 app/src/main/res/values-w820dp/dimens.xml create mode 100644 app/src/main/res/values/colors.xml create mode 100644 app/src/main/res/values/dimens.xml create mode 100644 app/src/main/res/values/strings.xml create mode 100644 app/src/main/res/values/styles.xml create mode 100644 app/src/test/java/com/example/saunakc/bookshelf/ExampleUnitTest.java create mode 100644 build.gradle create mode 100644 gradle.properties create mode 100644 gradle/wrapper/gradle-wrapper.jar create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100755 gradlew create mode 100644 gradlew.bat create mode 100644 settings.gradle diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c6cbe56 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..d463403 --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +BookShelf \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..96cc43e --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/copyright/profiles_settings.xml b/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..97626ba --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.idea/gradle.xml b/.idea/gradle.xml new file mode 100644 index 0000000..58992cc --- /dev/null +++ b/.idea/gradle.xml @@ -0,0 +1,24 @@ + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..df54b58 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,300 @@ + + + + + + + + + + + + + + + + + + Abstraction issuesJava + + + Android + + + Android Lint + + + Assignment issuesGroovy + + + Assignment issuesJava + + + C/C++ + + + Class metricsJava + + + Class structureJava + + + Cloning issuesJava + + + Code maturity issuesJava + + + Code style issuesJava + + + Compiler issuesJava + + + Concurrency annotation issuesJava + + + Control FlowGroovy + + + Control flow issuesJava + + + Data flow analysisC/C++ + + + Data flow issuesGroovy + + + Data flow issuesJava + + + Declaration orderC/C++ + + + Declaration redundancyGroovy + + + Declaration redundancyJava + + + Encapsulation issuesJava + + + Error handlingGroovy + + + Error handlingJava + + + FunctionsC/C++ + + + GPath inspectionsGroovy + + + General + + + GeneralC/C++ + + + GeneralJava + + + Google Cloud Endpoints + + + Gradle + + + Groovy + + + HTML + + + ImportsJava + + + Inheritance issuesJava + + + Initialization issuesJava + + + Internationalization issues + + + Internationalization issuesJava + + + J2ME issuesJava + + + JUnit issues + + + JUnit issuesJava + + + Java + + + Java language level issuesJava + + + Java language level migration aidsJava + + + JavaBeans issuesJava + + + Javadoc issuesJava + + + Language Injection + + + Logging issuesJava + + + Manifest + + + Maven + + + Method MetricsGroovy + + + Method metricsJava + + + Naming ConventionsGroovy + + + Naming conventionsJava + + + Numeric issuesJava + + + Performance issuesJava + + + Portability issuesJava + + + Potentially confusing code constructsGroovy + + + Probable bugsGradle + + + Probable bugsGroovy + + + Probable bugsJava + + + Properties Files + + + RELAX NG + + + Security issuesJava + + + Serialization issuesJava + + + TestNG + + + Threading issuesGroovy + + + Threading issuesJava + + + Type checksC/C++ + + + Unused codeC/C++ + + + Validity issuesGroovy + + + Verbose or redundant code constructsJava + + + Visibility issuesJava + + + XML + + + + + Android + + + + + + + + + + + + + + + + + + + + + + + + + 1.8 + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..729db1b --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/app/.gitignore b/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/app/build.gradle b/app/build.gradle new file mode 100644 index 0000000..c5076e5 --- /dev/null +++ b/app/build.gradle @@ -0,0 +1,27 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 23 + buildToolsVersion "23.0.3" + + defaultConfig { + applicationId "com.example.saunakc.bookshelf" + minSdkVersion 15 + targetSdkVersion 23 + versionCode 1 + versionName "1.0" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + compile fileTree(dir: 'libs', include: ['*.jar']) + testCompile 'junit:junit:4.12' + compile 'com.android.support:appcompat-v7:23.3.0' + compile 'com.android.support:design:23.3.0' +} diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro new file mode 100644 index 0000000..45c8099 --- /dev/null +++ b/app/proguard-rules.pro @@ -0,0 +1,17 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in /Users/saunakc/Downloads/android-sdk-macosx/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} diff --git a/app/src/androidTest/java/com/example/saunakc/bookshelf/ApplicationTest.java b/app/src/androidTest/java/com/example/saunakc/bookshelf/ApplicationTest.java new file mode 100644 index 0000000..dd685d7 --- /dev/null +++ b/app/src/androidTest/java/com/example/saunakc/bookshelf/ApplicationTest.java @@ -0,0 +1,13 @@ +package com.example.saunakc.bookshelf; + +import android.app.Application; +import android.test.ApplicationTestCase; + +/** + * Testing Fundamentals + */ +public class ApplicationTest extends ApplicationTestCase { + public ApplicationTest() { + super(Application.class); + } +} \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..a718290 --- /dev/null +++ b/app/src/main/AndroidManifest.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/java/com/example/saunakc/bookshelf/UI/ForgotPassword/ForgotPassword.java b/app/src/main/java/com/example/saunakc/bookshelf/UI/ForgotPassword/ForgotPassword.java new file mode 100644 index 0000000..8d41e46 --- /dev/null +++ b/app/src/main/java/com/example/saunakc/bookshelf/UI/ForgotPassword/ForgotPassword.java @@ -0,0 +1,24 @@ +package com.example.saunakc.bookshelf.UI.ForgotPassword; + +import android.os.Bundle; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.View; + +import com.example.saunakc.bookshelf.R; + +public class ForgotPassword extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_forgot_password); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + } + +} diff --git a/app/src/main/java/com/example/saunakc/bookshelf/UI/Home/HomePage.java b/app/src/main/java/com/example/saunakc/bookshelf/UI/Home/HomePage.java new file mode 100644 index 0000000..c910252 --- /dev/null +++ b/app/src/main/java/com/example/saunakc/bookshelf/UI/Home/HomePage.java @@ -0,0 +1,192 @@ +package com.example.saunakc.bookshelf.UI.Home; + + +import android.app.SearchManager; +import android.content.Intent; +import android.content.res.Configuration; +import android.support.v4.app.ActionBarDrawerToggle; +import android.support.v4.widget.DrawerLayout; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.widget.AdapterView; +import android.widget.ArrayAdapter; +import android.widget.ListView; +import android.widget.Toast; + +import com.example.saunakc.bookshelf.R; + +public class HomePage extends AppCompatActivity { + private String[] drawerListArray; + private DrawerLayout navDrawerLayout; + private ListView navDrawerList; + private ActionBarDrawerToggle navDrawerToggle; + + + private DrawerLayout mDrawerLayout; + private ListView mDrawerList; + private ActionBarDrawerToggle mDrawerToggle; + private CharSequence mDrawerTitle; + private CharSequence mTitle; + private String[] mPlanetTitles; + + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_home_page); + + mTitle = mDrawerTitle = getTitle(); + mPlanetTitles = getResources().getStringArray(R.array.navigation_drawer_list); + mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); + mDrawerList = (ListView) findViewById(R.id.left_drawer); + + int width = getResources().getDisplayMetrics().widthPixels/2; + DrawerLayout.LayoutParams params = + (android.support.v4.widget.DrawerLayout.LayoutParams) mDrawerList.getLayoutParams(); + params.width = width; + + // set a custom shadow that overlays the main content when the drawer opens +// mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); + // set up the drawer's list view with items and click listener + mDrawerList.setAdapter(new ArrayAdapter(this, + R.layout.drawer_list_item, mPlanetTitles)); + mDrawerList.setOnItemClickListener(new DrawerItemClickListener()); + mDrawerList.setLayoutParams(params); + // enable ActionBar app icon to behave as action to toggle nav drawer +// getActionBar().setDisplayHomeAsUpEnabled(true); +// getActionBar().setHomeButtonEnabled(true); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + getSupportActionBar().setHomeButtonEnabled(true); + + + // ActionBarDrawerToggle ties together the the proper interactions + // between the sliding drawer and the action bar app icon + mDrawerToggle = new ActionBarDrawerToggle( + this, /* host Activity */ + mDrawerLayout, /* DrawerLayout object */ + R.drawable.ic_drawer, /* nav drawer image to replace 'Up' caret */ + R.string.drawer_open, /* "open drawer" description for accessibility */ + R.string.drawer_close /* "close drawer" description for accessibility */ + ) { + public void onDrawerClosed(View view) { + getSupportActionBar().setTitle(mTitle); + invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() + } + + public void onDrawerOpened(View drawerView) { + getSupportActionBar().setTitle(mDrawerTitle); + invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() + } + }; + mDrawerLayout.setDrawerListener(mDrawerToggle); + + if (savedInstanceState == null) { + selectItem(0); + } + } + + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + MenuInflater inflater = getMenuInflater(); + inflater.inflate(R.menu.main, menu); + return super.onCreateOptionsMenu(menu); + } + + /* Called whenever we call invalidateOptionsMenu() */ + @Override + public boolean onPrepareOptionsMenu(Menu menu) { + // If the nav drawer is open, hide action items related to the content view + boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList); + menu.findItem(R.id.action_websearch).setVisible(!drawerOpen); + return super.onPrepareOptionsMenu(menu); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // The action bar home/up action should open or close the drawer. + // ActionBarDrawerToggle will take care of this. + if (mDrawerToggle.onOptionsItemSelected(item)) { + return true; + } + // Handle action buttons + switch(item.getItemId()) { + case R.id.action_websearch: + // create intent to perform web search for this planet + Intent intent = new Intent(Intent.ACTION_WEB_SEARCH); + intent.putExtra(SearchManager.QUERY, getActionBar().getTitle()); + // catch event that there's no activity to handle intent + if (intent.resolveActivity(getPackageManager()) != null) { + startActivity(intent); + } else { + Toast.makeText(this, R.string.app_not_available, Toast.LENGTH_LONG).show(); + } + return true; + default: + return super.onOptionsItemSelected(item); + } + } + + + + /* The click listner for ListView in the navigation drawer */ + private class DrawerItemClickListener implements ListView.OnItemClickListener { + @Override + public void onItemClick(AdapterView parent, View view, int position, long id) { + selectItem(position); + } + } + + private void selectItem(int position) { + // update the main content by replacing fragments +// Fragment fragment = new PlanetFragment(); +// Bundle args = new Bundle(); +// args.putInt(PlanetFragment.ARG_PLANET_NUMBER, position); +// fragment.setArguments(args); +// +// FragmentManager fragmentManager = getFragmentManager(); +// fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).commit(); + + + Toast.makeText(getApplicationContext(),"List Item clicked on Position: " + position,Toast.LENGTH_SHORT).show(); + + // update selected item and title, then close the drawer + mDrawerList.setItemChecked(position, true); + setTitle(mPlanetTitles[position]); + mDrawerLayout.closeDrawer(mDrawerList); + } + + + @Override + public void setTitle(CharSequence title) { + mTitle = title; + getSupportActionBar().setTitle(mTitle); + } + + /** + * When using the ActionBarDrawerToggle, you must call it during + * onPostCreate() and onConfigurationChanged()... + */ + + @Override + protected void onPostCreate(Bundle savedInstanceState) { + super.onPostCreate(savedInstanceState); + // Sync the toggle state after onRestoreInstanceState has occurred. + mDrawerToggle.syncState(); + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + // Pass any configuration change to the drawer toggls + mDrawerToggle.onConfigurationChanged(newConfig); + } + + + + +} diff --git a/app/src/main/java/com/example/saunakc/bookshelf/UI/Login/Login.java b/app/src/main/java/com/example/saunakc/bookshelf/UI/Login/Login.java new file mode 100644 index 0000000..d9d78d5 --- /dev/null +++ b/app/src/main/java/com/example/saunakc/bookshelf/UI/Login/Login.java @@ -0,0 +1,51 @@ +package com.example.saunakc.bookshelf.UI.Login; + +import android.app.Activity; +import android.content.Intent; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.TextView; + +import com.example.saunakc.bookshelf.R; +import com.example.saunakc.bookshelf.UI.ForgotPassword.ForgotPassword; +import com.example.saunakc.bookshelf.UI.Home.HomePage; + +public class +Login extends AppCompatActivity { + + private EditText emailId; + private EditText passWord; + private Button signIn; + private TextView forgotPasswd; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_login); + + getSupportActionBar().hide(); + emailId=(EditText)findViewById(R.id.et_emailId); + passWord=(EditText)findViewById(R.id.et_password); + signIn=(Button)findViewById(R.id.bt_signIn); + forgotPasswd=(TextView)findViewById(R.id.tv_forgotPassword); + + + signIn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + startActivity(new Intent(Login.this, HomePage.class)); + } + }); + + forgotPasswd.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + startActivity(new Intent(Login.this, ForgotPassword.class)); + } + }); + + } +} diff --git a/app/src/main/java/com/example/saunakc/bookshelf/UI/SplashScreen/MainActivity.java b/app/src/main/java/com/example/saunakc/bookshelf/UI/SplashScreen/MainActivity.java new file mode 100644 index 0000000..3b16bfc --- /dev/null +++ b/app/src/main/java/com/example/saunakc/bookshelf/UI/SplashScreen/MainActivity.java @@ -0,0 +1,53 @@ +package com.example.saunakc.bookshelf.UI.SplashScreen; + +import android.content.Intent; +import android.os.Build; +import android.os.Bundle; +import android.os.Handler; +import android.support.design.widget.FloatingActionButton; +import android.support.design.widget.Snackbar; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.Toolbar; +import android.view.View; +import android.view.WindowManager; + +import com.example.saunakc.bookshelf.R; +import com.example.saunakc.bookshelf.UI.Login.Login; + +public class MainActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + if (Build.VERSION.SDK_INT < 16) { + getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, + WindowManager.LayoutParams.FLAG_FULLSCREEN); + } + + setContentView(R.layout.activity_main); +// Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); +// setSupportActionBar(toolbar); + +// FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); +// fab.setOnClickListener(new View.OnClickListener() { +// @Override +// public void onClick(View view) { +// Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) +// .setAction("Action", null).show(); +// } +// }); + + Handler mainThread = new Handler(); + mainThread.postDelayed(new Runnable() { + @Override + public void run() { + Intent loginIntent=new Intent(MainActivity.this, Login.class); + startActivity(loginIntent); + } + },3000); + + + } + +} diff --git a/app/src/main/res/drawable/action_search.png b/app/src/main/res/drawable/action_search.png new file mode 100755 index 0000000000000000000000000000000000000000..f12e005ebe835c1dd2f6ae324224c3ee296d2d68 GIT binary patch literal 1764 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTC$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%qp275hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8hm3bwJ6}oxF$}kgLQj3#|G7CyF^YauyCMG83 zmzLNn0bL65LT&-v*t}wBFaZNhzap_f-%!s00+w{G(#^lGsVi)(9*=*)zHG!$-vFf5X3XIbTx5uc62i} zG&gZFgz0t3PcF?(%`1WFO+o0j#HkmQ7;+1MHoK%2WtOF;xE1B+Du6w0m5J3Y2F^}y zE>1YjgX&Ge>K3qGXPkQVfsWA!MJ-ZP!-Rn82gHOYTp$OY^i%VI>AeV;uyg*O2mt1n zFi#i9kcwMxX5P*g4iq?MeqHUBR%njnmW0b3zm{-xi3cqC%GT9Y-=L)QsQBYTjiwL* zQ5VNm{=WiPYXt*!emv`4R1xlT_0eA;?zI_Pugq9?|H1YREUD%vZ%*cYbAZ3>_M3U1 z=gu@XR_C0#EHh+tYp>RJ2L}ZOfqrb7mLU4AyVWH|NY* zQ^IzKO}@fjZcD>Y1y@7G0?{|jH@!F~c*?W)&e`MhOJ&F54VqgD7x3n=W>&q_yTREu zMN@!LZw0&f0pkxMTbg&APM3BRKha=UAkh+Q_qyY@$*$&y%G&i@GA#RJ?6egx^Q|lF zU&Hpgzxdm z0o;{y7qXw)*u936b3;UXgPPb%gU#n6Wt&)pt4V_e_XTU$-|uu^H+{|X zXZ1-)Ju5!3bk3Po7q(j27@Y8x4xMV6U@BAY;hOzWMd9=t;Y8C=!?>Wu3T zaP#eOXcUji;rddmYK6lR6#qHU^Ba<|-IJx*BXInxa_oeX8 z&koGeJ1b*sU*?``_TFR0-M1>UY_9anjWV7ajPD**^MBo$BXol|>{7KF|A+GjrSBb| zsdf3zhA`WcMl9}4?5PyAUL=N+fGo5O0o-4l-eZBPXoi)cTJa5{sjrl3T zJ#)!3`Is4Uu}nOCds^;h89V!&I~*UmWL|^xgL%65uYdH}JLO?Y=hl5^UucB6cwD^x zTCmM;im;^a4dJrMhwH@u=l}0{I&qPUi>PX|O*EhRHJA5)b$(R$DOpwCUu@L7YD?X1 zIfH+SN?wAi|7baEIxBa(%es@}w{L@}oNUj}|D7F%#=74ZGngx_5wSkHo@tJYN~A({ zY0APPSBajVQf>Z|uKs2?ud?r}!$S3aAOB7K_}x0>_&22|o9}lOeUfNFiFU`@U5Xr+-Y2h+^&Fz!7ypldm za#4)fkaYOplLMWvd)czen2t>^YG&h=GRe5G;NW`))xgl;_^?U481>l1!)FR53IYvg N@O1TaS?83{1OO&fGZ_E? literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/edittext_bottom_bg.xml b/app/src/main/res/drawable/edittext_bottom_bg.xml new file mode 100644 index 0000000..b02e03f --- /dev/null +++ b/app/src/main/res/drawable/edittext_bottom_bg.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/edittext_top_bg.xml b/app/src/main/res/drawable/edittext_top_bg.xml new file mode 100644 index 0000000..2f7336b --- /dev/null +++ b/app/src/main/res/drawable/edittext_top_bg.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/ic_drawer.png b/app/src/main/res/drawable/ic_drawer.png new file mode 100644 index 0000000000000000000000000000000000000000..98f85fb903e28921c6e4693f5756b59816abaa9b GIT binary patch literal 989 zcmaJ=&ui0A9M35DW6+Z)9pWQXm|*krQnNLoan_`9)n(MKVvkLe*EMv>OOrR7?Id1? zh~jyF!A>63n}`QN5J3?{&_BV82Nh(O`O>xB4%R^4k1wCk=lkMFX|0x{TH$x0-I3^pB!y4C~O+3;~dM_l)iYfj{*1L23vvwP?PCpQtzFx|3ruCUPMQ2Bz&j z((aLo%}{zA4==ln#~%l5<|8)TA5Q+c!5+rViczX3-&%Y7`-_=Z;;GEpsb_e<*Sv6E z?)P?krP}kE?VT4>Kfmr`{f%T+_s(VCep=RcKAQR89r1Dd`>pq8Ue08$-kah;^U0Uv S#fRJJgR7KRjHlO{_x}R-bT$tF literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/rectangular_text_box.xml b/app/src/main/res/drawable/rectangular_text_box.xml new file mode 100644 index 0000000..b283812 --- /dev/null +++ b/app/src/main/res/drawable/rectangular_text_box.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/splash_screen.jpg b/app/src/main/res/drawable/splash_screen.jpg new file mode 100644 index 0000000000000000000000000000000000000000..abc91c1c9a92eaa90c91b057470b97eedad9cd38 GIT binary patch literal 21722 zcmb4pWmsG>)9B)*Kq>ANcXy{n7KgIH;_fcRy)9B)ifdt6WN|BA+^x8~TPf~vx9@kq z_ql&>c27={nM@{=NhX<-m-&}CNUNkF%LC4HP8Qdc&qel6A1y%KN1c=5^x_9Sw)?-s3gUlh(C!M z7SD&1xr$^G19*)CNU%kxnWV>^V4KJ%#Q`B<;42Y?b<*T-MpnrZnB!YbV3F2YO_<1+ zq7#@!*oK&MTLPyMM`B!jh{dojAp7cYWEiF zN3|IUP<4!mFwdq~^*Od)`{E)rl6(D|8)3jxr9OdU*?7lGMrYeu$8-}?G} zC(^6%R-|te?+J+k6EJTCWnmp&SzI9c@rh- z3?33QI?uO5M2L!Juio}V!sVr*9}GZ#g#b7PNijR&qvOXX*b+NoyzbRuL!Jk-=jotV z>6D@bgDJvI=h3S&IJ#^;WXjapOkj~kYodgS5+vey;=Pys@*i|ItuGz#2~4ViC75r= z9P=XZdxC9D8W3b$G2Sc&1H`)lQOU z(xdD}PrfdB2yjaUi^4j!UU$UZ#D}MQ9EQh z4L$t$lRT5be6xB!o22?z1yQcQU1fEWEGDw+1rn*tm5|R^77=B2Ff-_#IpmY-5fcoM z!w7j2xK|A#WM!$VY0^jrT=63#Ulm~5kdS_mm!(mcUZ*Mlp_8O16*)aY!>l7a52ngQ z022hqSA!`c>CCHikd;<#&GgtR`vWLI0>pgm z#N6FaQHeA|C{RwYNk_=V`C$@l!j0f6TcE5YgPu>yXCc0hj#ZA}M7FG+l)!AK8QOzo z5>?H`M>Qlr3ehF0!i9H47YLH!RUoP9$-`G9W3jUsY+Rt{xAA`^ZNe}VMSV(2HQ|K7 z-hqWeD|!er>zz$yCOKn&YfDg)FVi#iIc!6RJx}U&6iQSTT$Km`DsUzDM08LB{-jT# zH=D?cv9P3djg-$<2bMA@F(Xk8etGv+KQb7A_!;v98TFTCG(nka{6WO{0zPIq`+2U+ zfF7+76q!016~ayA0l#4jSA_hWO?A++dUR+{)7ys6b%LbgeJ;!T%OA47`3)yvB8m>d zr8D$DJ)jeK<^MV@?1O_W7xfp4Iz(dXF9<)(^@G0vgH8BG%`9TfSo*5?fiC=Vg7R=Z zEdcO@njnNw2X_d)9j1|u(3KwoPI4zS?(HW?N%M8WYld{yZUSzC0e}uE;z$8yFKRAf z5i+w)))+2!JnBN_;2c_+HBdZ06`qNK3Qm%)ZM+8cDVfDj6q?N6quf8$aT&jD_oR_Y zyF!+&Q4I%ZfDTPOLcyE*%TksG`E*vp-+3*+;V35wsIw*1NHOCN!bSc{P`)gN=rPE$_sCbt;U=*9$S0|@MHry^0N%U1OjuLTA7i2n^>m=FM^&Pq{ct; zfIp&%0IhyEG#8fbpU5>m#R*ZX_OuM{v4LNR<43E!@QBlJ|Ct>`0DxcK6Qz;E)kA3& z$!rsaPB}{dTRh1bGx{khLPT-^I%0kd?(c6ItIu$&g7g-E`5IBz|CJ?NNyZ~;c~UN1 z$5L@a!W_TSCov!c*te+Ob0NMrW18ZsuqY7CvWNW)Qs*C$N7pasRNd?@Qb#D{S+=V8E{n#IQpc z_q*z_VKOLqVxVi_nb@?TBzSPAd>pbhsdn$76Nsw8z~W9( zFHSX`&oFZft>fr4E#w&@QDGxdDx{WKWXi;k00Sr3Nf>O>!#0Dnx<-)nhiJAM@u>|s z091_?AA8_z)<7fRW`%9}viCfmBE%?t8$DVYl87*mrZfN`o=OT0pX&k-%P~!xXM`k-batyL)^wNH-k>vWn9GW|d2!N{31?xd=gEbYfjZ=?34TFNlgBU zEZu04_wdFSy1B#PgziE=QO1i%#Z<7STNAqQHyXfOdo>GZa3c%rf64?Jt++=>`bc*H zNTuRSMi^Ns)$ovvW+2!7F5&(ejR52%@Cvf zH~F80zjJCJ*zp~Mox{EflPRoKTfU$asHT-NTbEkb@jxXh`U0>CvdMiE{rZUe0(ipu zX?%i2qGUh0kOOjP2rkuvzAoV>Ya^K22xR_z)A4_4qYavi758nxtLlhqdUeY3Rp~iYrQ=iJ( z?(*)(=etog_D9$PI(R8irB6tIQ3H}89B`9(R(<{O&cRgR&uCFxr^-;$rERGqyR*tC zq*m<2g?<%!)?9X2Gk@>5?(@KDqeQg*jBRVCY0A=Qqg|39%GxXF)V)!)YUrc!^KiDb>L(Uy zqsXUW-&D7=k>rz31MJE7X;%ANISa?N`W{070r(K+nwb7QFXiZ7>NeHH{oP;b=#!yi zKobHE_XkD(RviAYyt^>$IxHf*TBP;)$8dV5M%Y$YzvieewBx#3qmJZa#>lQla5KQF z7UA>6D-$@+a7#!901yLE5Qzc*DFC2M6^X=7NUsMA=HQkQoVc6K{;W@@{~ZkY0Z0EA zkS^XWjwHEeqJlgXwe$n;tq=NlCF_ezHm@=1DoGS!_BEFs50cmYgX2#ZUta*+@33}K z1hIC0&MsuKni>;;lL`(uX^B#@3>(kEEjRD9UjUFwddVC3d!Y0Mkap+H`j`UQP9aQL zJ`ch%MgwK*bh*y}r_?+uE1nKkL_gmHB`Lxe^aXwj5(tvwQ)j681!SMP{`F?B-l61R*mgvwqeNwNB36Ews)$cmRSQw;PK!)t?dHl?m_nW z68cn_hVLg=l}9JEVbj*~r5rWK3^Ku?W=%`Ew1o z8C(wRXMC6@+iE4)uQ`9;y#N-cncEp$z9$;e^!Cc0)rM5w(GHx$K$Q)x(P5l=pim;Q zrHUQ$H7apMoF~W$xkz6>L2xI~p3kNBOIzES=S^+MLz~kJIX36uM0C}-3=ws2Oeq1)+=@XUF)C*uvb>sz5{Q}reU)$kKZd}X+ zQL5eXBpX7R1Fvfo)$>!X%4hBxTH3wFeC*Y1W}XU7OB_msw(Lx|Uc0F-I2B~JW3V2& z-w~+a(eF5M4nCEhHN1;B42ap))bPJ7T_b-dSnm61Xp8Pbw-WtG>RweVg;>vKjs zugV8p3(QYGhTAh6IAIDV}*A#|^!g^6tF0eY>wF;Px1)j%mX z_B{GG@FTdR@7MUEyN$!VdC(5A&y=bb+m9XVz~ke4dvY{6$V$FR6s_XeJxNF zlk!R<7#08kO)3CFFyP~V);$!U@J`a@-v=IEMUX?vMw~<_Ws0YGE5{qY$=@&?;z?iH z3YLlL;hEVjVfEJ_oaQ7jZ8;|2RzSX zTi(kbRFAWT1Lt3d%ge(mf4ZnyIb?}8=P~XLXZ(CR!gy2FxJJ({lx09@l#_g}aN!wcgxxVU7{~Clf^mo? zN5e-3f~ldF*WJ5DKT~l>SEm%%;G63W@P9M0aJv9s^*jZL#bm1DA-39@1sg;uemnNA zazUxj%EOMw#hZU!g5=j9?{&qQ`~4zMHe3A0D*+PLX492Bl8K)>Pe$G_VjF#Qw}(wb zRmN2q$tr`)2+-xCCM1IGOZa_L!oghMLzNwl;UiGM=%6jo&Ip|^)i&X*F!fLn^F+OxWL zyCq{14YY4zgisPD?PO*qg}Y3sz4&;?{Wue|X8HE)3{(-f1mrDJ9YR&Hy-cdW!FCyp z9dnLmITN11+u=w~uP4rS*ympQp|f#VW#o*DSd#hibMGdT$+iFWufbBWGtJzrTv573 z&-zPy>C4|tkHdCyL%AG#a!BmoH7p$FM^(#8SO2UW2+k+2wdJg(k}<%}aYY5KO-r@i zEfwE}3JDJupViFdS|C$Wj^^p*#?Kpw9cadQAMbZgx!NfjQj|O1v?Gl^B{^g{5e<&W zvN;j{B6TKVW&#(kFAick+}b>1*TJ_VMe}}X4m?E!dAUZ_mAq=$;W0wxSk_{t@3W4} zLWza##*E7kfE=pFD|GS6`JV@>Bg;CzDc3jVwe5-fNT6;vGBDE)cnj*4?=}9(3kl_` z6Ra~6U31O0wVEVxG2#kK!WyBpinz*;w;eR+sL~KB3*pO??p!JhYvB7K5us1pgwjP+ zHE&``K)Ni20hELVhJ4<_*m5YKS!E~aMV#3|o=~AR`U)vC9-giuX14kigyy4iA4d&n zSDYA%+JFbczypU^cU*9b^4l}nJYXBjdnzlLo}JGyjeW11X;D57V0YlNCd%8s))oFP}9M95KB?WisA|jR%lGf18#*l!s%YWplOeZIbmr)Y(ZD!Z=9?i0yw{nnZ zL^cb;h5iLpQ-e>n)FK?%kpI?kB|{)Tl$i-aqPk;N_o)RVy<7!?dk`7P>dIlq04mftb!;hQ4dLc{p_OLkqaAhA2Xc3y#YnahTZ&kv>VhE85J4Q?T z`x>gvZ0DiT*~h)?zCzW4^g7MPa@o6anK$~Bct3y;JhBrGT8&~c-_f&OC=BuSlZrMi zj}z(F>24li)2S1?zuwT{NkURqRoAH^HDfbmOw@i~hNSGPX=g~ACx1~q?j~x^3US@N z;`s@xwzJJT_kCL`)TS7_Lc)QbE>(Y<3ABx#1oIR*_SnUi!!^j9be6@Smx-AMs+J(~ zqk7mFjig+CceYbCb4qLAMzd}jR766}L7#EgS}v+L!sf^S*EM6=XU3%#T3!+ReJVR` z5AL6ad)deSjRg(?AqJ6&4V!GJSq!y&NJ!9-p(IVXH@j{BrK`A~FJXBxvIaTH+=8xRO!BI|1LEb0m+`Ggo!%UyNgRu( zL9_-!L=`G(H_FTOT>*J=C9gOcjnPw2!I?MN=v7LQL?nl`F|c3~cvk`shii6kk*)Qz)kV+REsclNKIqEvqOMDy?lDJc}$1HqaKUv`Xti zuyhAOvft={8%RyA1)4ht3U|`#)pxUCC7)$fhe{5q03b0OT)9hDQDriRROX zY)6JN%hVK=mRFdolP*9TBO~{hVoYE{nbJ6pdwg{k%hmjc8WkC<&ZH5L9xZY&-uxW; z^6k<}4WQB&EBvFvhRnWvbAC%p7SCnX;)99A_4H_aof2ao-hzS{dex+olfQhcrMyp_SC_Uk)jjdo4s<$NdhyammDI+^JC!KEa1 zG>dex@n5!REt#?+g-H#p-) z7j`%my*eBi7S8O8ske$`c6x9AntW7~7B}3iR;iKgje@h4TMv-R*2FDRm@&d}-;(8f z{1ioEIld*Eob7lDXcLsbhB{dKMXQT9DQ8zN|Be)xoC0_D@+6)xf1oJ~E2J41(yVn6 zVIw4M?Bhe!)DW0J`8{2|VZiZz!jN9ioPx>PQxp=S%Ajo?nRPCI$u!-nZ29$=Bb!7z z-6Pl7kVV#-x3((7G_2|Oh0LBKgjv((%?W%iW!beDDCvAT)EfKZC0rDqxa`3u|3M+H)f%vHF4 zWhAi8eFbHewD3Dk@h+81@#@F1{36v{ve$I-wdNk{A(wG1Hen6zN(?+nB?%dA9rp8n%H`6uxXD&wa+Vs2fDM|?5$ZuuI?Bes5M}Z4<2O+6H{qnH zeRFrN3m{1UMCctZLxIDSVMs$HKfE7Sf>~HQ(wm;?E-ymIH7iIeu)ir*T!Wq7q&^K6 z?3U)2u`PEuwN((!i8jtOfg&gJ)$k;fd^t+c)xZpqY9`3|V* ztA1Dvg^*H0$lv&spRAB9F9CkxeqW9hxMv)c*-D@1euh_gLN_`ibCcKDC3}#gH`&vt zm@r?D<~yP(|vNt-uG7)4|V*vzA2kD(KpG(FK0GvHdC+m|E2in`_V zft=%Dan^cL^|igmNbmZ}#rx$;vEQf}j(Q`&?zaf$d{`1PnH#oyuox%d-8OOpwkm^# zIbmHo6`|q}JaiYLH5pLZgj1wx<%pi8o8`^vhr(Q6klREA>Mz*C@HyeQAOS;&AnmUG zmG7c3KKXi5$@#NrGSi-ce{+5;7wp=e0ihPpc?ddJDFY@TfD$6hrOu&Ew zg)P`>NCgi*HcMmHVAgD-K2f=cOX#BNdVX$~XWJFFTx6@P`#R#T$KT!eF?&>#d?jH< z3EL9JFWaTY!YbtM`6hZmWtM=o09e|tA%n74YkJtn@+Nlmu&B#PH zRyxQt*{Y;J<$4^*QzXSK?W?~a?mIt{tEb4JpB$lxe{=ZoM(=jMTUUOgG|us^SyOnr3-Wj!5 z<;xzRg_6oum0ts;{;JL1dYWy-tQV{OM%LRrYjer331COW3KiC};@QGMxZvZ+7I7tZ zzB7uZ8ZYHoArmHzOGx@tQP39=T2-!?JTi_^EWS9COye_pJ9<_Z<1|SeE4_ua7IkaS ziJ(eXr20nvW%2DrHP7rtG`WDor$6g&)b*j2LHi`B$V;cyx-=;@h86IhUz{ z?b%`9HyB9 z>0dc9{{H4cqP*L&uN#NH`-;+%y2HRJdaiE%J`|UpR;i^7&qGt2_S-5~23*mwVK$AV zmI@Dzg&E3vN~6)!j?0qCP^O(|kYNU`Om>6qymfQ!h}&c*sGu_CG;{75O)*kUM$ocV zRb{`9XIfN(W+c_wRdBShjGfuG5q0Mez2cvVmOqp_l?so}e<{7oaovs)^bAh^z5}L| zH~e|}FyuL5X@pGgbs#LEV1Us|xLrB!M?W3qsTa{Jrz>aNz!^W~Pu8#ycl6^!hT96! zI%ANYo%rc9;`eBe@5XbYk8hLJOxyR1E-W?FRSt5DJ+OK?6}gQA70^qRbfui1Cw;wf zGC2-FaVs(Nq|A)@S;iJ-J9qn{(5|A$i0>I!MS{!aci+9+L7>yzeVmpga0TC-pX2w* zqWt6sn&{e{6;jvJ=dFYGBkiW39#&YW71TNiDZhYMPE0Vz*QaqhVE7r$5xw>2FsIK~ z68E2;n-WQ_vY5kSf@eatdXFT9hIS>2c|C>pB%!hOJhkL7OXlFIEPfS;jhWG57M>EN+kcQQE!bNS`-DeRPI!kz%WmLE7BW?}Lx`GCrI*Oty40Vb!*0 z#Gi~R<-ZolWmJnpS)L$o>?g*)iikaD)&=nHa%WaN4)`SOU5*5Zl3-Un{Ad>PbxU@Q zpR@XG;l}a=W!a*x$V7=Ia7(sORk1;a72DaE9e&wtHmAn~zf}b5g?@&ROh;oLZGx74 zbh4bTh$?vo3!Be~dx=|ymwl3}Ka~_Z6z^rr3EP(X`(%3uWQ(L^TWt|Fv-Ny2@?K1qT7}{yOIjZSCvq18z^3h;?)-}W=38cXB zs-BWlMv&Dewe5SU@A9yoSL8}5{m+{=Z|ZrDl%1!JOo`LD4pQxz+oQiMqvszI7wb3G z1)b$fA3qdcCZ)PD53#B#Rl$!pvbuyaB)A(}KbDiUvlfl5M{jGz?w7>ZnCzYrtm+3K zOTs#6Ih=0oZf-#o2z&OP*|m2x6q;~H`ObnW)}zd-9o>1Qga+sOYRSFyf26wKblcL&3#1PXTSIwbe+t8 z!N?BZN`=Suu>VW2EV`Bw3X{R42Z~*!=R2xU?`X};9HoN>P zwORc=k@H;f!_pnCqK1nfd}(Y;7m2^0Z@75@$k2l+r;Rr)U{}m_ldfI{>anz#g%`4R z*5M`P-(LV8*|z61u0T-hUU;JE#2{rdeKFs%viRkUI?I zW!qmj3d{_2v_`wG6AU#lAdKbD8@l07rk?7bEh@;!@{vD*Mt9HJ3MLv9xQYQOoo4oj zvYPU)^gOioXQETtM^b{!C*7C*_uGUairyvN3Ty-CrfguGMfRQT8w&U8I(wgbZ8-^l z5{B`vL8E$+s?su})^tb4)(ba933tooDG_F~HoekSC%@#(y?c8xF~(m^TctGzN;)eN z-4jtDZPk6N>g?)utpyL$a^V)wtXgO!^gy&+vE0;4_#_$kJRfzMs@OM>5(@M zSdJ%!zK-a8yAWmSY~0I<`a-X?GY`9K@QW1#G6UI%z(DUTP20|v9B~JkQnfM9IGa&x z*Fst%mJB(sU28dP4Lnw<>n&y{;H_aU%W8m9A2|`B@9!dFSs?dND*Nz5%Kdo!?plSv zz-xS5&ru1Ulox>ObiSyr9c#mKtYh~GWRYQMChWw^GfKM=N%oY;ty)oF=4&c)ttU;W z)lEz6nSt_-2JcY4KcstA1v)C%WccX*s!63!5FEKX(BcbaXlf(+24uNQY`M;9C;D-c zzH&FYXaDSrAb8TSqJ7(jJhKL=6mDHZ)<^=!4!5nXhwQN06gjQ&`zxZ6Ea}#@OskVn zW#3+?JEVg{C~F~T3qHKe=FIF@Fr^x18F~AXa&aOjw?r95sL(wqzkO8*u0{<|^3#)_ zLpqB;>sgpRfha?n6pD3@He+Qi%u~-@J_V;UN5iLz{i5Y{EUfMxpg%U@a___q=ua)X z4SlS;v4Iq|83c!wyYN|4()YKqp`GS5!@pQZ~`tg|Ih46jR3xHSp47)Vwf=?2M+p`(J zs?_7vuj?T#oAPPqTk@kf?LEIAWm#}u0C>`8m^ueK-^zb~c}}t?SK6>#c7-WD%3}BE z!HF2ko#COmvkLaC@~Tu=Bhx%JJKx8Cvx@u`%zBl{C+SyN6R z^HB7u0PCRNL@!gJ~)itT)O%WFKH0K1=z$0HF3Q z(3VJwlNRrrKkH;IqRM>6enuTm_nZKQhF(vsdWywg@98Po$W!(YrN28XDO{+@o?=!g zp3k+*uB!`Y)z1dB*sb4vQY+jUY- zi}iVSQ>+Lj;^{CDY&T^Zx`;mIC6kiUk4I@0ua+ z;zd3MCfhDOPhETH|f8ZVDvakIbZh{eC03$vDY)vuXQ~}}AY2N^h`{IY<-p8JU!642Tz`R`c)cB$$ zo6KCwDUht_?ps{_T-|tVvdkv5g4d z;MO@1zccn_H_N}7`udz?l`)~%fGH~(w-53TZ?1cHMFOj%yyv>H(ew5?S>oVKT| zJz-qob5zutyu<_*j98S4mE_9?i zLnni!02{TQ5$MF}dZ}nY(i_zc%feDjY>gUqa`fwl7PncS3MPy4Q1JTUu}Wm${|;%H zaP8^!tugkL5wQ@`@h_S`3Zuzf6KI*+cSePlG32(MXW;r6g|y#wH(zgo>;p@CiidFh zYJS!ji^YS&q{pd_GJ5-FJ>IW-$qND%p6u!vYP{sDK?w<^h+ zth~E=Z?eQXC;M`Z&~pj~lWT|+xw~nv2y8X`gJ2>81fX;<0RVWBRvLLEjP4G~+j*EH zDQOq5b*9UR#?o?GqcYpV?6)NuT($E_muNQ zLoR`W^DkDnpFjeEZ`Rt2>#x)gppH6MN6)esd(WYie&GjpH%?W~YmI{Yxvkx1*DEgo zfKrs_2?l+)k-Xl|x58^OZC#4bDSz~T(GEc>BcgglVy9_}IPKlFTOn4P$xAf`M%$mn zG_q%2DMIVqd^!K%LSNn8!XlmL>l1H?XBIzxsb?y!-~__>Q z*e*@i)F#QZ9X6|40B!r8o}I8T^9~BiI95Gfx2H&_#*)ddWiwYk z>RhC@rh;WIJO#bQ$$SB9eS{cRFv^OlG^Uq5nJ7sCxx>8>PDguior7(mm=+`-YBY^YKGPwUKgFqcbII@cQ>Z)_K2s zPa^})-h{DwW{>90sG1L^;MRF{-o8ChahCfD;oqN5JoTakKQVO~9#qX@|*ngf- zBGQXZ9i;><`?_^cq(W8t>+LMXb5)JIGn`X4mfMT?inmJCX5FDnFp-NA-BI1YN!~e@ z%2@Kwu_00(RX0N`P2xR+K}4>{N6^()MoQF#%#r%KTmGgT4@`Fk_?-_g4z*9BW>YJU z0oqMjPl~fcm$q731UZS@wvN~$JU?&jot%B2`z=Wq9v7S+$8rK*07Lzi>_XVS#Ia=n z;>2mdPPy2W=cS3WkyAFq>`h*`R`L7(%4Pcz*Dd>E*_NY@jZV`XhSCytYNE}qniN(7 zQf@B;KWw8Irm4a_0-N%cg5|UtyF>*>d#bhKmCSZzvYS6#6S_Y|cZ|8(E~V=00re{j z{4BsXvra}M##vYmO^ad{&vGdK{!E4+wf!xI=~djP6&I>`)x%$L<`UhJdtB$F+mw~M zS>r?X3B>UW7UrZa2N$(0EeFYRK3!#3FwbP|_$bsItXC7%#|Z15eXkMsb!P%SQ}8o1 zu?NkyFEekN64`1+29EgOtVhjVT3>G$)#yL7Yqn6AiqM93{+{ULFxb8DN6)rZk_D=K zD&;3w7wUgIm&qhulg#kUma1L@%P&{OYrw1?`X!_INw3)@&S6_kt3+~Bv+RLdOY>%p1b$g;n3SpKP6URPHGgJAfUs+h%x(BmT zjBb!}?ua(@ivQiy!oItiJI$@!8cv~*v)rTD3t*Vkz5E3LOue(#@9tkHI*ojishY5# zfZPTF4Y>#IIZGP+N$=j?zv0_Bb@Y#&3pLip{*-u^xG(hQtKp1QSlYIs@!{5=QsCs_!UBk_H)GA6|cv38^4~UZ(>khoLqQ&CP+QV@2a}M6tvdTr_>C` zGPxJ=b)JI;)hn)j=irBQ{tlQ*Qm`jYJ;R@~H|Awl!f#{2Nqt%jN+h<2YQdgJeSV$T z$7)fuKC){qB`a;aip*aAoo*$)i{wA(T~TjXDgNDUC@w%CDUk$OQ}GWg3QnzSsrcp4 zYmU2mRQWLcY!hIW)W+K0rpQBVpC|YFiS)wwsBuC)xe^G=wLErX-k?7a;@r1CxB6Wa zns~v@lKC*c8?Cckp6pv^ol;=&i%~_)P`FZPD2w~8J)~!{lxR^SZ!hp1N99bWrvmO9 zv+pr<5}TNtw&euT9=fNN;8YE59aZiAqSe{2kVL9BWm@|E%|lUA8>iZ>iBJL~t~2Rp zsD#78p}X<#*gJwND_vDnOXUo-Fk^CIY=e!rKmZloohr%1IhG19pf2;X0x--~gs zR@hSHfkdl);kZoom+$Ye{!}#p8i=(kRYRNwy}Fpj31T#Z zyi}};$Lw@S(;_Y#!;WtWbz;tzFZK>orTUtSsaXde_=Y#n3ealiMnPM{I5o*k~jrZeB_S zeeo^LJ+scNQ9bZW$xSZ;hccZTRLta2_c0IP5jIX|1UQLa^M+ zlyj{;JnoZ92P+kenhT6~$5g)}-k6=Nsf25Gx66?!t!CWe5gAUDN)RxfMjLO7&E)K% zttmZZQAlx4^qQ_+&D&ee>2Y(_Uf>RO`m_&c_=h4J0qdExDf_nc&6^p-FX=MxB zTFD|r`_NARxuPcVuZ3c^q*2z^lE^#0;N4G&6SEn|S=wVgOM<0}0heoo*$NuIz*cQ* z1t$MqHUVph+ew}ET^=M+bN_z&M@!+>UA`}-=!(Y*Q*Fsa2^K9~%NG3$AoM$n7U?Yh z-Wpx|85P%I(&~YC|7DXB646nA-&)!VnLQg_%lgz~gkq9Wo4CZN+@!g;L({1ObmXw8 z7WN^CP-)dVypni9j)V_>7(b4YZ_-tSYA-YnswcZ4r`BkF=_6(3kOvz?4w1YE8-ymi z{ri@{g5i~H`p^-DC>z=W$Oi8+5^yTwr229$vjcW>a6_Kth~~|wSw5^`Yj2tVZlG%5 zGbCrl`v!sf>ZTl(@5zc>+Ltw`9S_VdS`CNY+&~i-=-@ZH2ende%8umL;oP;_qRI!}0}j^HGXG62&G=mW`4G!N|ock|Cy`k6pjoA*6GjN^c}6gK>wNGp{=ggdg|oVEo= zWA%^Tq7d{zX#7+|`By22vZ3y|IRyKFL{beSJoR#(k|(5%4NKB}k+D=l>Tobp14lClywdjlL-`?r3CtvT#x;{ld%}&R;S6&E< zpbZ!zZ5w`_&~kOuFEeGSto!`}@PA?>q%^F`kjwo2OKRVk#^1P7??TCdl19?ai_nHs zksoq%;6Eu=k6u1nv1bt>V1Qcm{R7yjr6+X*=T#&~SDbes%57fM!^o6~%hEdi(8 z4c^3i0SV}zDFd1u#u}ML?5>LlxF2j7Yu3RtS`X5yK?sKDMu_cZh?l!xgKAVB-WvKz;zkb7w@NdbGaP-#sQ683G`G$w z(Z}~ZMX|;=KwsfX)Y|S9Y;*IdE>mB46t!-o)xFM0v~Y@`UllPK{ls+CdB(Rgk4)05 ziourSeX-frOYcbAShQ)XR~lKPcY2{~LGh-@simH9fBu3+Ykzx(ZA?uwq2B`&Asv8f*Z9H$@OQlw0cR!6I zqf)3HoCeUV_*Ol#UJ*^Y?7Zv7>q6X^yS*WtuASvl%8q|d3SW5S7Na8ecorXrnvY3_ zQD2t%RKCg~#uRx0Q0`4u@3zu#LTN|6WzN`mOy_Q|pOfMwLu4-td>(1Me^P{T8gDJ! ztBU8~yqi=%{u{BS!^U;==qD-P{RE`Fm%>inh}bL^(92_XlDTbp7WarN8k77S2sx@- zd-aTRpQY)kN>kGut2MgsDQ(in-DY>EZT1f91%O>Xwezl{UHu9c*b{_(gJ0#xiP?I? z{Odw6a^de}3YN-sVb|&HRN3S;?QKw_Mm%nCuTJ{#t@mqggJpF)@1nMkUycjY z*~7>8@9o}czeAKV_itRy1+IAv&5Vvn#+>Soo?HcWGywC9+<2s1wnw4cU zb;I}v{Q9U~7w57_n9OCG#glRGQ{;im^2TlMzA2kH>%9Q|#zCrS!eli*-j%;@fvd}v zoseHFT6kO?$5%C_b)&qqF!8;k(yiIa3I>qj`l7#9j(-#uF_u+TJ| zC&M^F>>6il^&P{^aUedEX`TlGneVuFwNSH;&8mvvz!_||$GqUmrO3@VOz%&xqc_M2 zKgE{P9k#_Cd(tSkXjQilf^?nlj&d^F+S5|#EvIz}k-A>MMu!Y{&!WxBRkKq?@kEkJ zSchySrgC(eG<|HQ+)jL{uQQGu&yri}>BqQcj#iI9^@Y(?)UyaxS`v}d6N?Uy1=;vx zZI-a(#Wfj-j1;sEeM&t3KLHyP6QpNWgaeWmdZ zu(`xxuVbb_>uJZpSt)aVA<@!)v+*;EYPOtw1Eufq7e!0jmx!G@KHP>1=`YMP_P+u; zDlgYz(NXr~Fln3ZKLMuSto#hRDlc^89ThKbLk72>weTJ1?Jol!ikG(_=;{4zyhaVL zQ|z(ksq823F;wEWR+otE*6c^b4RgLU*mRKNbY`6Xz9nXR# zo3WEmiPA=DSc<0IYx=g2Pt`3d%f;nqmURnFgRV#&!!DNSl6E@=;b-OmD-fKa7Nc|*1B7-z!Yz* z(Q+`UiF21nhgX-h%zm}4YE-8|UT*J_-p+oOz9rh6az~opX-fo?=_@?ad>Olvipr9* z;D^Y5u!ahpeCo1tmwB_CX-3M?Msld_tgO52X6LQr2L9LgW9=5|%3g#UT;7O>o$sj? z*%fwV>Pfw7N4YG_93>^JYR!G8l>u^$BCjVW_okwZ-AW79r|-OlmNDNN5&P1(ok*|e z(qDEL`5MC0>FKS?3%Zzfo>FVNn*B-Xqy8pd=nJev>+1d=?p*%>8Q=9!6#lY*<*(FT zVf}2s%S82veRXdI`iD;suB-S^!++E1@BHQOrYBba0L`TP;KQbe*1vr;E|L%Vu=mp# zly&N#>4#pa{+VxP;urGSKS$y|s$K@R9eN#pry=$E@)uCVTliA&C#hHZxp)tUUYGQQ zxiS4AE=C^O!_E^@^ z`!B%c=x6M)bTZ_}!>>-?q`M!0{*hh22MFikuzQ#zU&<#Nu%iyeejj;EWWn zy_?4qDMeGS9P#ee1H$LllTuH`1Y!#O`#HnU}oTVC3$sO-|FuQD}PEG2YG>r*0q*&H|);1nfvKT6odPSWO z*_B@OO)=&u6sfb?x8+;0t;6~A!We0XY`dRV1R@;&(M>Ubrb!urT zJ96BO@|x+DNI~7sDqWs?_~?vfh=Y1la(wDPk~37_BGo6zzao7nimvocL2`;RmTA8^ zx8BZ$LGmqO-yzl}YmXxgjP6)g_!h8JexvXmoV@Iec^T=f1y5m>^nCco;yXEcSs1!D zdfh@_XT=9meBtKLNjg2xATpA3i zZ?JcF00vl(Dz^^+-Kq=e+63f>FMxD#_E&*cLCf?QB~z#DFM0<`ntp=6acx@m6_~+2 z4K}r>9|BzpUsWFiTQMbPaf2?eMgIUQ9s=srey$z{_PAQ^?Jh*fFnCNm{#1Mk>R5SO z_fYUUQnJu2t!Lgc4mY!~tv}qvm9sFhmUuzOx>h^1<|k|F#xB28 zwXMi3`GE=%OVRK{%dY~K?R6LuqhYv=S4)TmknLh!SS|8II`QC}7R8#>3>|j2M&0I8 z#Wm~26HImq$t~?3Z1J?$uQ|R^Mo$x3U&F%5_RZLxFE3Trg5M%K#CRtC$Cl-fp6-g8 z@e{-1=jr0)zUn7S%hY&>!VHIrlHmp4Bh30bFItuAOWrlJaQt(>c<9HV@o(Cszo=bq zUe!Mnjcoif{#$t z9Z|;Xz7O7O8t|VCtn%dyl9kt)Vbb()rc!H)j`w9T8cwXBlRBI2WUq$9ZHpG}KxMlDl* z42p`_q@|V%GveOlb2U<{yqlBZeg~lp1YoZ@dzPl~g&64yd7m~D9%L}Gmj-mhXU*!; zitTngbI){bA9aOh{V6s@jH805A4;P4YFeR1aFmL$d*6uA(xn~L;qPP2m!hD%kv2<$ z4d7QvE^_xP3C;18pL-_VqITl`AUw;MY03B#njX^e72(YRT5^5?c=CP(-aP&R=Dr|3 zJ3`9)**1t}h#tj)!n)=emou}G*eoo|m}gwcqJW(7=7pX-#)|?vNb?SoBTQJW+D}Tm zMbfTJYU4`+wI6OIyj*>?;7*QftPVc6A8)}4;^Xa0 zz;zdz?E{Cc$DD=MqxQ#8=DY4IoE>R$mx#K`_8*Blhc81iTu{15uUQ^{SbQLb)6as6 z_YRkrd#es&>6ZlA!_w7!ZQO+VSL;i}ogBNJXYBZr>%VF!;>kC?zYyrTv^rdliC0`_ z;6tq*$KK5PIIZ$SwKc?=VY=Ls_abx7T>MJBJA4MDxJ8pyo>@1(!&G5=xZU=eW_%&y z!t&sd2|*>IuAMe#=&G!+FruxhLGrrz=HSapG^p+l>0QO=jx4v2e)g%X>`MrKGLG zS#Nusb@3exoYK)NXwC}QsZ@+@C!}p-w;pHwa_ZNsJVX>)j`o$BWoCq_JuaU6o)jv| zGP}F?owPA&M$M}v^d<8z;?Gt)l+{Y`gp#w4Wqro7a`vMYz~*(S)V6I@R*gGZn?jr* zuNZ62Qn|<1o?DhxB%b!jX{D=oMnBK(tK=e@}; z^GkPzRoDhrm$z==WalX}dss~_Kx5HI*>Ajg65Rw_sR-|s7kfm!MHRlSCH+XbOG_)^ z72+9R*%QT3<6f7EJ#!Afp8=INFDvH|ahKU6uHnAEKM{4zH`l~vHZLptJ|fEg&xpF- z9sdA69w4z)KE9ub%4}Q5KVf)>U6-(oEcq0o`4d+oPPsp3A=c`0UIb;AA?24LwD_*I zSF^x6&2E1ID9XW>Luv5(dfw9)Nm=^R9!JbFK4WN{)gJjj5n4}=#M7hgA4a=In#(V0 z9#zcOqg|uu*CHCnD&{*bY}ccYFNpF-m&CYh8!phac{6;A*+WqKC}FHE9z)aFH^}{; zfciOmKLLrZb#G*@=%aN`e#`JHqMs&Qrn%CWv+xYFI(izMz9Z`M?C~7aW1FL&FzDYG z@j8|sTx>qC+Pn+RPNS2eTx5sQN14{J+~x2Z!>(*|PMn<_N>Gm`bhx% zvWhKXYI|$I;(Kz3wEPHrc9#s^1DI`h%MU2)o8Tu)PvTqLc~y4p{Rqjv(~_put2d&z zymD*Zmqito&t7cj#MQ&mi=5>d@`>Tp##XDn*%&tD{Oi8*&k3(@t6}lDcRCl0_^X~Q zqiMBmQ?b4i6+Ase;{C?>+&*gEEEk(KeL0u$G3SB5K*Ouck#xk-n^Q}`^(i>0T5`Ku z$MihMLRZ{$VcWf)t#d5P@jouTcMUXoRk&(6!YgvS=FFj1oGE9kIID2EtqesPj!qL# z+;P5cx=OT{t@#mBvx0pd8m!-Szc8LURHU=3MZ2ayrKvAoH}4b4u1QtL&(OlCt{I4U zeW_E6hjo$K_RSUR#9vL&_Pz$Prnnx<$4}CmeexI3xT$Yz-p=>8D0@%9pQovI_!lqs zY;pYsU)zAz!L9AY>iT+@DR>L%=yv!FzuIdBuqypzd>$-x}ZUkNuzj0IvT4bbn7r*^s`U`!X&XKiT*7-|mb3pMPEc=zp{i*kbMz8Hw6Sk>FNt%>_3m|g zYkT;QprzU3cn=+od!Ugk6OM0i{{ZC5`W}Xgut zc{#6V>AXL+Z*daav=-+44=1QUXgY?v$afBF(|dXx6ub{d9mDHDrdEE682FaNn(Aa;BC~PxsR#ClP7*oE1Bc* zFZrJW9xD+o^<;K+I((RQI4%RYaa=C7SH7gYNphRtCjIB5)amjCg{N;se{B;59B|M@mbli#jl>RvKx;c9+^srdy!U~Qe4Z(WW+)|3{ zHB{qmY)`?wm)L)#`g8)#`gEsnNS`4v(>p>hT_DR;kP49a^U(dVL>YWF6Cp^E$0g z&k^-norj~*vGjIBx^W(FRH@iLsXl1*dNv&yJEsx9K@Lm6eGEAwa|UBS7wWnwazg0i z$qO)M9}lOI4~UP0534J5&%`gi_@% literal 0 HcmV?d00001 diff --git a/app/src/main/res/layout/activity_forgot_password.xml b/app/src/main/res/layout/activity_forgot_password.xml new file mode 100644 index 0000000..1e483f5 --- /dev/null +++ b/app/src/main/res/layout/activity_forgot_password.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_home_page.xml b/app/src/main/res/layout/activity_home_page.xml new file mode 100644 index 0000000..4e29412 --- /dev/null +++ b/app/src/main/res/layout/activity_home_page.xml @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..6112047 --- /dev/null +++ b/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,74 @@ + + + + + + + + + +