Skip to content

Commit

Permalink
Profile selection is now a dropdown instead of text box
Browse files Browse the repository at this point in the history
  • Loading branch information
markwinter committed Sep 27, 2014
1 parent eba2b3e commit 54080f5
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 23 deletions.
38 changes: 33 additions & 5 deletions app/src/main/java/im/tox/antox/activities/LoginActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,22 @@
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.WindowManager;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.Arrays;

import im.tox.antox.R;
import im.tox.antox.data.UserDB;
import im.tox.antox.tox.ToxDoService;

public class LoginActivity extends ActionBarActivity {
public class LoginActivity extends ActionBarActivity implements AdapterView.OnItemSelectedListener {

private String profileSelected;

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand All @@ -40,11 +48,13 @@ protected void onCreate(Bundle savedInstanceState) {

// Check to see if any users exist. If not, start the create account activity instead
if(!db.doUsersExist()) {
db.close();
Intent createAccount = new Intent(getApplicationContext(), CreateAcccountActivity.class);
startActivity(createAccount);
finish();

} else if(preferences.getBoolean("loggedin", false)) {
db.close();
/* Attempt to start service in case it's not running */
Intent startTox = new Intent(getApplicationContext(), ToxDoService.class);
getApplicationContext().startService(startTox);
Expand All @@ -54,14 +64,32 @@ protected void onCreate(Bundle savedInstanceState) {
startActivity(main);

finish();
} else {
ArrayList<String> profiles = db.getAllProfiles();
db.close();
// Populate the profile login spinner
Spinner profileSpinner = (Spinner) findViewById(R.id.login_account_name);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
this,
android.R.layout.simple_spinner_dropdown_item,
profiles);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
profileSpinner.setAdapter(adapter);
profileSpinner.setSelection(0);
profileSpinner.setOnItemSelectedListener(this);
}
}

public void onClickLogin(View view) {
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
profileSelected = parent.getItemAtPosition(pos).toString();
}

public void onNothingSelected(AdapterView<?> parent) {
}

EditText accountNameField = (EditText) findViewById(R.id.login_account_name);

String account = accountNameField.getText().toString();
public void onClickLogin(View view) {
String account = profileSelected;

if (account.equals("")) {
Context context = getApplicationContext();
Expand All @@ -74,7 +102,7 @@ public void onClickLogin(View view) {
UserDB db = new UserDB(this);

if(db.login(account)) {
/* Set that we're logged in and active user's details*/
/* Set that we're logged in and active user's details */
String[] details = db.getUserDetails(account);
db.close();
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
Expand Down
14 changes: 0 additions & 14 deletions app/src/main/java/im/tox/antox/data/AntoxDB.java
Original file line number Diff line number Diff line change
Expand Up @@ -673,18 +673,4 @@ public boolean isFriendBlocked(String key) {
this.close();
return isBlocked;
}

public void blockUser(String key) {
this.open(true);
String query = "UPDATE " + Constants.TABLE_FRIENDS + " SET " + Constants.COLUMN_NAME_ISBLOCKED + "='1' WHERE " + Constants.COLUMN_NAME_KEY + "='" + key + "'";
mDb.execSQL(query);
this.close();
}

public void unblockUser(String key) {
this.open(true);
String query = "UPDATE " + Constants.TABLE_FRIENDS + " SET " + Constants.COLUMN_NAME_ISBLOCKED + "='0' WHERE " + Constants.COLUMN_NAME_KEY + "='" + key + "'";
mDb.execSQL(query);
this.close();
}
}
17 changes: 17 additions & 0 deletions app/src/main/java/im/tox/antox/data/UserDB.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import java.util.ArrayList;

/**
* Database for storing Antox accounts
* @author Mark Winter
Expand Down Expand Up @@ -100,4 +102,19 @@ public boolean doUsersExist() {

return count > 0;
}

public ArrayList<String> getAllProfiles() {
ArrayList<String> profiles = new ArrayList<>();
SQLiteDatabase sqLiteDatabase = this.getReadableDatabase();
String query = "SELECT username FROM users";

Cursor cursor = sqLiteDatabase.rawQuery(query, null);
if (cursor.moveToFirst()) {
do {
profiles.add(cursor.getString(0));
} while (cursor.moveToNext());
}

return profiles;
}
}
6 changes: 2 additions & 4 deletions app/src/main/res/layout/activity_login.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,14 @@
android:src="@drawable/full_logo"
android:layout_gravity="center" />

<EditText
<Spinner
android:id="@+id/login_account_name"
android:layout_width="200dp"
android:background="@drawable/edittextbackground"
android:layout_width="210dp"
android:layout_height="40dp"
android:gravity="center"
android:layout_gravity="center"
android:textColor="@color/black"
android:layout_marginTop="50dp"
android:hint="@string/login_account_hint"
android:singleLine="true" />

<Button
Expand Down

0 comments on commit 54080f5

Please sign in to comment.