From 61e932a8bcd02cb6bb6fadcccc49c7743d2f6b38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Sch=C3=A4ttgen?= Date: Wed, 24 Aug 2016 23:48:25 +0200 Subject: [PATCH] Fixed ability to add profiles again --- app/src/main/AndroidManifest.xml | 2 +- .../me/impy/aegis/AddProfileActivity.java | 42 ++++++++++++++++++- .../main/java/me/impy/aegis/MainActivity.java | 38 ++++++++++++----- .../main/res/layout/activity_add_profile.xml | 2 +- .../main/res/layout/dialog_new_profile.xml | 2 +- app/src/main/res/values/styles.xml | 14 +++++++ 6 files changed, 86 insertions(+), 14 deletions(-) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 327a0014..95e53929 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -23,7 +23,7 @@ + android:theme="@style/AppTheme.TransparentActionBar" > diff --git a/app/src/main/java/me/impy/aegis/AddProfileActivity.java b/app/src/main/java/me/impy/aegis/AddProfileActivity.java index c742e338..4d39c03c 100644 --- a/app/src/main/java/me/impy/aegis/AddProfileActivity.java +++ b/app/src/main/java/me/impy/aegis/AddProfileActivity.java @@ -1,15 +1,55 @@ package me.impy.aegis; import android.app.Activity; +import android.content.Intent; +import android.support.design.widget.FloatingActionButton; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; +import android.view.MenuItem; +import android.view.View; import android.view.Window; +import android.widget.EditText; -public class AddProfileActivity extends Activity { +public class AddProfileActivity extends AppCompatActivity { + + EditText profileName; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_add_profile); + + profileName = (EditText) findViewById(R.id.addProfileName); + + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + getSupportActionBar().setDisplayShowTitleEnabled(false); + + final KeyProfile keyProfile = (KeyProfile)getIntent().getSerializableExtra("KeyProfile"); + + FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); + fab.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent resultIntent = new Intent(); + + keyProfile.Name = profileName.getText().toString(); + resultIntent.putExtra("KeyProfile", keyProfile); + + setResult(Activity.RESULT_OK, resultIntent); + finish(); + } + }); + //profileName.setText(keyProfile.Info.getAccountName()); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + onBackPressed(); + return true; + default: + return super.onOptionsItemSelected(item); + } } } diff --git a/app/src/main/java/me/impy/aegis/MainActivity.java b/app/src/main/java/me/impy/aegis/MainActivity.java index 43468f3c..612a6926 100644 --- a/app/src/main/java/me/impy/aegis/MainActivity.java +++ b/app/src/main/java/me/impy/aegis/MainActivity.java @@ -30,6 +30,8 @@ import me.impy.aegis.db.Database; public class MainActivity extends AppCompatActivity { static final int GET_KEYINFO = 1; + static final int ADD_KEYINFO = 2; + RecyclerView rvKeyProfiles; KeyProfileAdapter mKeyProfileAdapter; ArrayList mKeyProfiles; @@ -104,17 +106,9 @@ public class MainActivity extends AppCompatActivity { if (resultCode == RESULT_OK) { final KeyProfile keyProfile = (KeyProfile)data.getSerializableExtra("KeyProfile"); - String otp; - try { - otp = OTP.generateOTP(keyProfile.Info); - } catch (Exception e) { - e.printStackTrace(); - return; - } - - keyProfile.Code = otp; Intent intent = new Intent(this, AddProfileActivity.class); - startActivity(intent); + intent.putExtra("KeyProfile", keyProfile); + startActivityForResult(intent, ADD_KEYINFO); /* new LovelyTextInputDialog(this, R.style.EditTextTintTheme) .setTopColorRes(R.color.colorHeaderSuccess) .setTitle("New profile added") @@ -147,6 +141,30 @@ public class MainActivity extends AppCompatActivity { //TODO: do something with the result. } } + else if (requestCode == ADD_KEYINFO) { + // Make sure the request was successful + if (resultCode == RESULT_OK) { + final KeyProfile keyProfile = (KeyProfile)data.getSerializableExtra("KeyProfile"); + + String otp; + try { + otp = OTP.generateOTP(keyProfile.Info); + } catch (Exception e) { + e.printStackTrace(); + return; + } + + keyProfile.Code = otp; + mKeyProfiles.add(keyProfile); + mKeyProfileAdapter.notifyDataSetChanged(); + + try { + database.addKey(keyProfile); + } catch (Exception e) { + e.printStackTrace(); + } + } + } } @Override diff --git a/app/src/main/res/layout/activity_add_profile.xml b/app/src/main/res/layout/activity_add_profile.xml index e554ed60..b7364ba5 100644 --- a/app/src/main/res/layout/activity_add_profile.xml +++ b/app/src/main/res/layout/activity_add_profile.xml @@ -39,7 +39,7 @@ android:inputType="textPersonName" android:ems="10" android:paddingTop="0dp" - android:id="@+id/editText3" + android:id="@+id/addProfileName" android:textSize="28sp" /> diff --git a/app/src/main/res/layout/dialog_new_profile.xml b/app/src/main/res/layout/dialog_new_profile.xml index aac41360..a67fa6d3 100644 --- a/app/src/main/res/layout/dialog_new_profile.xml +++ b/app/src/main/res/layout/dialog_new_profile.xml @@ -14,6 +14,6 @@ android:inputType="textPersonName" android:text="Name" android:ems="10" - android:id="@+id/editText" + android:id="@+id/profile_name" android:layout_weight="0.96"/> \ No newline at end of file diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index a388344c..0deab687 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -8,6 +8,20 @@ @color/colorAccent + + + +