From 6784b38cb14df1de0c2f16a9b459f5e5fa89c159 Mon Sep 17 00:00:00 2001 From: Tim Su Date: Mon, 9 Aug 2010 22:20:49 -0700 Subject: [PATCH] Styled up producteev login activity. Next need to hook up to actual api calls --- astrid/AndroidManifest.xml | 6 +- .../producteev/ProducteevLoginActivity.java | 125 +++++++----------- .../sync/ProducteevSyncProvider.java | 21 --- astrid/res/drawable/pdv_body.png | Bin 0 -> 231 bytes astrid/res/drawable/pdv_logo.png | Bin 0 -> 21459 bytes .../res/layout/producteev_login_activity.xml | 112 +++++++++++++--- astrid/res/values/strings-producteev.xml | 39 ++++++ 7 files changed, 182 insertions(+), 121 deletions(-) create mode 100644 astrid/res/drawable/pdv_body.png create mode 100644 astrid/res/drawable/pdv_logo.png diff --git a/astrid/AndroidManifest.xml b/astrid/AndroidManifest.xml index 8e811cf4e..e9aa1d671 100644 --- a/astrid/AndroidManifest.xml +++ b/astrid/AndroidManifest.xml @@ -314,7 +314,11 @@ + android:theme="@style/Theme"> + + + + diff --git a/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevLoginActivity.java b/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevLoginActivity.java index 145d0c97c..c4c1efacf 100644 --- a/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevLoginActivity.java +++ b/astrid/plugin-src/com/todoroo/astrid/producteev/ProducteevLoginActivity.java @@ -20,13 +20,15 @@ package com.todoroo.astrid.producteev; import android.app.Activity; +import android.content.Intent; +import android.net.Uri; import android.os.Bundle; -import android.os.Handler; +import android.text.Editable; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; -import android.widget.Toast; +import android.widget.TextView; import com.timsu.astrid.R; import com.todoroo.andlib.service.Autowired; @@ -34,9 +36,7 @@ import com.todoroo.andlib.service.DependencyInjectionService; import com.todoroo.andlib.utility.DialogUtilities; /** - * This activity displays a WebView that allows users to log in to - * the synchronization provider requested. A callback method determines whether - * their login was successful and therefore whether to dismiss the dialog. + * This activity allows users to sign in or log in to Producteev * * @author arne.jans * @@ -46,26 +46,6 @@ public class ProducteevLoginActivity extends Activity { @Autowired DialogUtilities dialogUtilities; - // --- callback - - /** Callback interface */ - public interface SyncLoginCallback { - /** - * Verifies whether the user's login attempt was successful. Will be - * called off of the UI thread, use the handler to post messages. - * - * @return error string, or null if sync was successful - */ - public String verifyLogin(Handler handler, String email, String password); - } - - protected static SyncLoginCallback callback = null; - - /** Sets callback method */ - public static void setCallback(SyncLoginCallback newCallback) { - callback = newCallback; - } - // --- ui initialization public ProducteevLoginActivity() { @@ -77,69 +57,56 @@ public class ProducteevLoginActivity extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.producteev_login_activity); + setTitle(R.string.producteev_PLA_title); + + // terms clicking + findViewById(R.id.terms).setOnClickListener(new OnClickListener() { + @Override + public void onClick(View arg0) { + startActivity(new Intent(Intent.ACTION_VIEW, + Uri.parse("https://www.producteev.com/#terms"))); //$NON-NLS-1$ + } + }); - final EditText emailEditText = (EditText) findViewById(R.id.Poducteev_EMail_EditText); - final EditText passwordEditText = (EditText) findViewById(R.id.Producteev_Password_EditText); - Button cancel = (Button) findViewById(R.id.cancel); - Button login = (Button) findViewById(R.id.done); + final TextView errors = (TextView) findViewById(R.id.error); + final EditText emailEditText = (EditText) findViewById(R.id.email); + final EditText passwordEditText = (EditText) findViewById(R.id.password); + final View newUserLayout = findViewById(R.id.newUserLayout); - login.setOnClickListener(new OnClickListener() { + Button signIn = (Button) findViewById(R.id.signIn); + signIn.setOnClickListener(new OnClickListener() { public void onClick(View v) { - final Handler handler = new Handler(); - - if (callback == null) { - finish(); - return; - } - - final String email = emailEditText.getText().toString(); - final String password = passwordEditText.getText().toString(); - if (email == null || email.length() == 0) { - // no email given - Toast.makeText(ProducteevLoginActivity.this, - R.string.producteev_MLA_email_empty, - Toast.LENGTH_LONG).show(); - setResult(RESULT_CANCELED); - finish(); - return; - - } - if (password == null || password.length() == 0) { - // no password given - Toast.makeText(ProducteevLoginActivity.this, - R.string.producteev_MLA_password_empty, - Toast.LENGTH_LONG).show(); - setResult(RESULT_CANCELED); - finish(); - return; - - } - new Thread(new Runnable() { - public void run() { - final String result = callback.verifyLogin(handler, - email, password); - if (result == null) { - finish(); - } else { - // display the error - handler.post(new Runnable() { - public void run() { - dialogUtilities.okDialog( - ProducteevLoginActivity.this, - result, null); - } - }); - } + errors.setVisibility(View.GONE); + if(newUserLayout.getVisibility() == View.VISIBLE) + newUserLayout.setVisibility(View.GONE); + else { + Editable email = emailEditText.getText(); + Editable password = passwordEditText.getText(); + if(email.length() == 0 || password.length() == 0) { + errors.setVisibility(View.VISIBLE); + errors.setText(R.string.producteev_PLA_errorEmpty); } - }).start(); + } } }); - cancel.setOnClickListener(new OnClickListener() { + Button createNew = (Button) findViewById(R.id.createNew); + createNew.setOnClickListener(new OnClickListener() { public void onClick(View v) { - setResult(RESULT_CANCELED); - finish(); + errors.setVisibility(View.GONE); + if(newUserLayout.getVisibility() != View.VISIBLE) + newUserLayout.setVisibility(View.VISIBLE); + else { + Editable email = emailEditText.getText(); + Editable password = passwordEditText.getText(); + if(email.length() == 0 || password.length() == 0) { + errors.setVisibility(View.VISIBLE); + errors.setText(R.string.producteev_PLA_errorEmpty); + } + // + } } }); + } } \ No newline at end of file diff --git a/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevSyncProvider.java b/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevSyncProvider.java index be5bfb904..4489d636b 100644 --- a/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevSyncProvider.java +++ b/astrid/plugin-src/com/todoroo/astrid/producteev/sync/ProducteevSyncProvider.java @@ -17,7 +17,6 @@ import android.app.Notification; import android.app.PendingIntent; import android.content.Context; import android.content.Intent; -import android.os.Handler; import android.text.TextUtils; import com.flurry.android.FlurryAgent; @@ -35,16 +34,13 @@ import com.todoroo.astrid.api.TaskContainer; import com.todoroo.astrid.common.SyncProvider; import com.todoroo.astrid.model.Metadata; import com.todoroo.astrid.model.Task; -import com.todoroo.astrid.producteev.ProducteevBackgroundService; import com.todoroo.astrid.producteev.ProducteevLoginActivity; -import com.todoroo.astrid.producteev.ProducteevLoginActivity.SyncLoginCallback; import com.todoroo.astrid.producteev.ProducteevPreferences; import com.todoroo.astrid.producteev.ProducteevUtilities; import com.todoroo.astrid.producteev.api.ApiResponseParseException; import com.todoroo.astrid.producteev.api.ApiServiceException; import com.todoroo.astrid.producteev.api.ApiUtilities; import com.todoroo.astrid.producteev.api.ProducteevInvoker; -import com.todoroo.astrid.rmilk.api.ServiceInternalException; import com.todoroo.astrid.rmilk.data.MilkNote; import com.todoroo.astrid.service.AstridDependencyInjector; import com.todoroo.astrid.tags.TagService; @@ -166,23 +162,6 @@ public class ProducteevSyncProvider extends SyncProvider#J!w-gBWXVf3!}&L6_WnzY(d8K7==W^>9q|uIF_?= z$h`SDR`>_b%ykb4icj073zVaY)mr#|~s zp4&AAch80QS@S)gv=FiEbM6;cIHGz^oVd^zQqJMlneXzp{5mVY3;Q{3W?SZOKD)Zb hsr7%(@7!5X$k-U002ovPDHLkV1iR}W)%Pc literal 0 HcmV?d00001 diff --git a/astrid/res/drawable/pdv_logo.png b/astrid/res/drawable/pdv_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9e72a2aa9431c85bcfb33e2bdbba6115b4ea26b5 GIT binary patch literal 21459 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 literal 0 HcmV?d00001 diff --git a/astrid/res/layout/producteev_login_activity.xml b/astrid/res/layout/producteev_login_activity.xml index 153a5626f..d0550048d 100644 --- a/astrid/res/layout/producteev_login_activity.xml +++ b/astrid/res/layout/producteev_login_activity.xml @@ -1,32 +1,104 @@ + android:layout_width="fill_parent" + android:layout_height="fill_parent" + android:orientation="vertical" + android:background="@drawable/pdv_body"> - + - + + + + + + + + + android:orientation="vertical" + android:paddingTop="20dip" + android:visibility="gone"> + + + + + + + + + + -