Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
CS123-CanteeneoAndroid
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Willard Torres
CS123-CanteeneoAndroid
Commits
1cb4f16a
Commit
1cb4f16a
authored
Dec 01, 2016
by
Willard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove unneeded code from LoginActivity
parent
3acf9530
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
194 deletions
+4
-194
LoginActivity.java
app/src/main/java/com/testapp/LoginActivity.java
+4
-194
No files found.
app/src/main/java/com/testapp/LoginActivity.java
View file @
1cb4f16a
...
@@ -4,27 +4,15 @@ import android.animation.Animator;
...
@@ -4,27 +4,15 @@ import android.animation.Animator;
import
android.animation.AnimatorListenerAdapter
;
import
android.animation.AnimatorListenerAdapter
;
import
android.annotation.TargetApi
;
import
android.annotation.TargetApi
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.content.pm.PackageManager
;
import
android.support.annotation.NonNull
;
import
android.support.design.widget.Snackbar
;
import
android.support.v7.app.AppCompatActivity
;
import
android.app.LoaderManager.LoaderCallbacks
;
import
android.content.CursorLoader
;
import
android.content.Loader
;
import
android.database.Cursor
;
import
android.net.Uri
;
import
android.os.AsyncTask
;
import
android.os.AsyncTask
;
import
android.os.Build
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.
provider.ContactsContract
;
import
android.
support.v7.app.AppCompatActivity
;
import
android.text.TextUtils
;
import
android.text.TextUtils
;
import
android.view.KeyEvent
;
import
android.view.KeyEvent
;
import
android.view.View
;
import
android.view.View
;
import
android.view.View.OnClickListener
;
import
android.view.View.OnClickListener
;
import
android.view.inputmethod.EditorInfo
;
import
android.view.inputmethod.EditorInfo
;
import
android.widget.ArrayAdapter
;
import
android.widget.AutoCompleteTextView
;
import
android.widget.AutoCompleteTextView
;
import
android.widget.Button
;
import
android.widget.Button
;
import
android.widget.EditText
;
import
android.widget.EditText
;
...
@@ -33,40 +21,14 @@ import android.widget.Toast;
...
@@ -33,40 +21,14 @@ import android.widget.Toast;
import
com.testapp.entities.Token
;
import
com.testapp.entities.Token
;
import
java.util.ArrayList
;
import
java.util.List
;
import
retrofit2.Call
;
import
retrofit2.Call
;
import
retrofit2.Callback
;
import
retrofit2.Callback
;
import
retrofit2.Response
;
import
retrofit2.Response
;
import
static
android
.
Manifest
.
permission
.
READ_CONTACTS
;
public
class
LoginActivity
extends
AppCompatActivity
{
/**
* A login screen that offers login via email/password.
*/
public
class
LoginActivity
extends
AppCompatActivity
implements
LoaderCallbacks
<
Cursor
>
{
public
static
final
String
EXTRA_MESSAGE
=
"com.testapp.MESSAGE"
;
/**
* Id to identity READ_CONTACTS permission request.
*/
private
static
final
int
REQUEST_READ_CONTACTS
=
0
;
/**
* A dummy authentication store containing known user names and passwords.
* TODO: remove after connecting to a real authentication system.
*/
private
static
final
String
[]
DUMMY_CREDENTIALS
=
new
String
[]{
"foo@example.com:hello"
,
"bar@example.com:world"
};
/**
* Keep track of the login task to ensure we can cancel it if requested.
*/
private
UserLoginTask
mAuthTask
=
null
;
private
UserLoginTask
mAuthTask
=
null
;
// UI references.
private
AutoCompleteTextView
mUsernameView
;
private
AutoCompleteTextView
mUsernameView
;
private
EditText
mPasswordView
;
private
EditText
mPasswordView
;
private
View
mProgressView
;
private
View
mProgressView
;
...
@@ -76,9 +38,6 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<
...
@@ -76,9 +38,6 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_login
);
setContentView
(
R
.
layout
.
activity_login
);
// Set up the login form.
// mEmailView = (AutoCompleteTextView) findViewById(R.id.email);
// populateAutoComplete();
mUsernameView
=
(
AutoCompleteTextView
)
findViewById
(
R
.
id
.
username
);
mUsernameView
=
(
AutoCompleteTextView
)
findViewById
(
R
.
id
.
username
);
...
@@ -110,106 +69,35 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<
...
@@ -110,106 +69,35 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<
}
}
});
});
Button
sampleDishButton
=
(
Button
)
findViewById
(
R
.
id
.
sample_dish
);
sampleDishButton
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
sampleDish
();
}
});
Button
sampleStallButton
=
(
Button
)
findViewById
(
R
.
id
.
sample_stall
);
sampleStallButton
.
setOnClickListener
(
new
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
sampleStall
();
}
});
mLoginFormView
=
findViewById
(
R
.
id
.
login_form
);
mLoginFormView
=
findViewById
(
R
.
id
.
login_form
);
mProgressView
=
findViewById
(
R
.
id
.
login_progress
);
mProgressView
=
findViewById
(
R
.
id
.
login_progress
);
}
}
public
void
sampleStall
()
{
Intent
intent
=
new
Intent
(
this
,
StallViewActivity
.
class
);
startActivity
(
intent
);
}
public
void
sampleDish
()
{
Intent
intent
=
new
Intent
(
this
,
DishViewActivity
.
class
);
startActivity
(
intent
);
}
public
void
guestLogin
()
{
public
void
guestLogin
()
{
Intent
intent
=
new
Intent
(
this
,
NavDrawerActivity
.
class
);
Intent
intent
=
new
Intent
(
this
,
NavDrawerActivity
.
class
);
intent
.
putExtra
(
EXTRA_MESSAGE
,
"Signed in as guest"
);
startActivity
(
intent
);
startActivity
(
intent
);
}
}
private
void
populateAutoComplete
()
{
if
(!
mayRequestContacts
())
{
return
;
}
getLoaderManager
().
initLoader
(
0
,
null
,
this
);
}
private
boolean
mayRequestContacts
()
{
if
(
Build
.
VERSION
.
SDK_INT
<
Build
.
VERSION_CODES
.
M
)
{
return
true
;
}
if
(
checkSelfPermission
(
READ_CONTACTS
)
==
PackageManager
.
PERMISSION_GRANTED
)
{
return
true
;
}
return
false
;
}
/**
* Callback received when a permissions request has been completed.
*/
@Override
public
void
onRequestPermissionsResult
(
int
requestCode
,
@NonNull
String
[]
permissions
,
@NonNull
int
[]
grantResults
)
{
if
(
requestCode
==
REQUEST_READ_CONTACTS
)
{
if
(
grantResults
.
length
==
1
&&
grantResults
[
0
]
==
PackageManager
.
PERMISSION_GRANTED
)
{
populateAutoComplete
();
}
}
}
/**
* Attempts to sign in or register the account specified by the login form.
* If there are form errors (invalid email, missing fields, etc.), the
* errors are presented and no actual login attempt is made.
*/
private
void
attemptLogin
()
{
private
void
attemptLogin
()
{
if
(
mAuthTask
!=
null
)
{
if
(
mAuthTask
!=
null
)
{
return
;
return
;
}
}
// Reset errors.
mUsernameView
.
setError
(
null
);
mUsernameView
.
setError
(
null
);
mPasswordView
.
setError
(
null
);
mPasswordView
.
setError
(
null
);
// Store values at the time of the login attempt.
String
username
=
mUsernameView
.
getText
().
toString
();
String
username
=
mUsernameView
.
getText
().
toString
();
String
password
=
mPasswordView
.
getText
().
toString
();
String
password
=
mPasswordView
.
getText
().
toString
();
boolean
cancel
=
false
;
boolean
cancel
=
false
;
View
focusView
=
null
;
View
focusView
=
null
;
// Check for a valid password, if the user entered one.
if
(!
TextUtils
.
isEmpty
(
password
))
{
if
(!
TextUtils
.
isEmpty
(
password
)
&&
!
isPasswordValid
(
password
))
{
mPasswordView
.
setError
(
getString
(
R
.
string
.
error_invalid_password
));
mPasswordView
.
setError
(
getString
(
R
.
string
.
error_invalid_password
));
focusView
=
mPasswordView
;
focusView
=
mPasswordView
;
cancel
=
true
;
cancel
=
true
;
}
}
// Check for a valid email address.
if
(
TextUtils
.
isEmpty
(
username
))
{
if
(
TextUtils
.
isEmpty
(
username
))
{
mUsernameView
.
setError
(
getString
(
R
.
string
.
error_field_required
));
mUsernameView
.
setError
(
getString
(
R
.
string
.
error_field_required
));
focusView
=
mUsernameView
;
focusView
=
mUsernameView
;
...
@@ -217,40 +105,19 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<
...
@@ -217,40 +105,19 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<
}
}
if
(
cancel
)
{
if
(
cancel
)
{
// There was an error; don't attempt login and focus the first
// form field with an error.
focusView
.
requestFocus
();
focusView
.
requestFocus
();
}
else
{
}
else
{
// Show a progress spinner, and kick off a background task to
// perform the user login attempt.
showProgress
(
true
);
showProgress
(
true
);
mAuthTask
=
new
UserLoginTask
(
username
,
password
);
mAuthTask
=
new
UserLoginTask
(
username
,
password
);
mAuthTask
.
execute
((
Void
)
null
);
mAuthTask
.
execute
((
Void
)
null
);
Intent
intent
=
new
Intent
(
this
,
NavDrawerActivity
.
class
);
Intent
intent
=
new
Intent
(
this
,
NavDrawerActivity
.
class
);
intent
.
putExtra
(
EXTRA_MESSAGE
,
"Signed in successfully"
);
startActivity
(
intent
);
startActivity
(
intent
);
}
}
}
}
private
boolean
isEmailValid
(
String
email
)
{
//TODO: Replace this with your own logic
return
email
.
contains
(
"@"
);
}
private
boolean
isPasswordValid
(
String
password
)
{
//TODO: Replace this with your own logic
return
password
.
length
()
>
4
;
}
/**
* Shows the progress UI and hides the login form.
*/
@TargetApi
(
Build
.
VERSION_CODES
.
HONEYCOMB_MR2
)
@TargetApi
(
Build
.
VERSION_CODES
.
HONEYCOMB_MR2
)
private
void
showProgress
(
final
boolean
show
)
{
private
void
showProgress
(
final
boolean
show
)
{
// On Honeycomb MR2 we have the ViewPropertyAnimator APIs, which allow
// for very easy animations. If available, use these APIs to fade-in
// the progress spinner.
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
HONEYCOMB_MR2
)
{
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
HONEYCOMB_MR2
)
{
int
shortAnimTime
=
getResources
().
getInteger
(
android
.
R
.
integer
.
config_shortAnimTime
);
int
shortAnimTime
=
getResources
().
getInteger
(
android
.
R
.
integer
.
config_shortAnimTime
);
...
@@ -272,67 +139,11 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<
...
@@ -272,67 +139,11 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<
}
}
});
});
}
else
{
}
else
{
// The ViewPropertyAnimator APIs are not available, so simply show
// and hide the relevant UI components.
mProgressView
.
setVisibility
(
show
?
View
.
VISIBLE
:
View
.
GONE
);
mProgressView
.
setVisibility
(
show
?
View
.
VISIBLE
:
View
.
GONE
);
mLoginFormView
.
setVisibility
(
show
?
View
.
GONE
:
View
.
VISIBLE
);
mLoginFormView
.
setVisibility
(
show
?
View
.
GONE
:
View
.
VISIBLE
);
}
}
}
}
@Override
public
Loader
<
Cursor
>
onCreateLoader
(
int
i
,
Bundle
bundle
)
{
return
new
CursorLoader
(
this
,
// Retrieve data rows for the device user's 'profile' contact.
Uri
.
withAppendedPath
(
ContactsContract
.
Profile
.
CONTENT_URI
,
ContactsContract
.
Contacts
.
Data
.
CONTENT_DIRECTORY
),
ProfileQuery
.
PROJECTION
,
// Select only email addresses.
ContactsContract
.
Contacts
.
Data
.
MIMETYPE
+
" = ?"
,
new
String
[]{
ContactsContract
.
CommonDataKinds
.
Email
.
CONTENT_ITEM_TYPE
},
// Show primary email addresses first. Note that there won't be
// a primary email address if the user hasn't specified one.
ContactsContract
.
Contacts
.
Data
.
IS_PRIMARY
+
" DESC"
);
}
@Override
public
void
onLoadFinished
(
Loader
<
Cursor
>
cursorLoader
,
Cursor
cursor
)
{
List
<
String
>
emails
=
new
ArrayList
<>();
cursor
.
moveToFirst
();
while
(!
cursor
.
isAfterLast
())
{
emails
.
add
(
cursor
.
getString
(
ProfileQuery
.
ADDRESS
));
cursor
.
moveToNext
();
}
addEmailsToAutoComplete
(
emails
);
}
@Override
public
void
onLoaderReset
(
Loader
<
Cursor
>
cursorLoader
)
{
}
private
void
addEmailsToAutoComplete
(
List
<
String
>
emailAddressCollection
)
{
//Create adapter to tell the AutoCompleteTextView what to show in its dropdown list.
ArrayAdapter
<
String
>
adapter
=
new
ArrayAdapter
<>(
LoginActivity
.
this
,
android
.
R
.
layout
.
simple_dropdown_item_1line
,
emailAddressCollection
);
mUsernameView
.
setAdapter
(
adapter
);
}
private
interface
ProfileQuery
{
String
[]
PROJECTION
=
{
ContactsContract
.
CommonDataKinds
.
Email
.
ADDRESS
,
ContactsContract
.
CommonDataKinds
.
Email
.
IS_PRIMARY
,
};
int
ADDRESS
=
0
;
int
IS_PRIMARY
=
1
;
}
public
class
UserLoginTask
extends
AsyncTask
<
Void
,
Void
,
Boolean
>
{
public
class
UserLoginTask
extends
AsyncTask
<
Void
,
Void
,
Boolean
>
{
private
final
String
mUsername
;
private
final
String
mUsername
;
...
@@ -382,4 +193,3 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<
...
@@ -382,4 +193,3 @@ public class LoginActivity extends AppCompatActivity implements LoaderCallbacks<
}
}
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment