From 1c22549a1398002db5087cb4f149b77cfed1d816 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Wed, 5 Sep 2012 11:52:58 -0700 Subject: [PATCH] Polished the share activity --- astrid/res/drawable/share_facebook.png | Bin 0 -> 743 bytes astrid/res/drawable/share_google.png | Bin 0 -> 3217 bytes astrid/res/drawable/share_twitter.png | Bin 0 -> 2816 bytes astrid/res/layout-land/share_activity.xml | 87 ++++++++++++++++ astrid/res/layout/billing_activity.xml | 2 +- astrid/res/layout/share_activity.xml | 96 ++++++++++++++---- astrid/res/values/strings-actfm.xml | 8 +- astrid/res/values/strings-core.xml | 2 +- .../astrid/activity/ShareActivity.java | 56 ++++++++-- .../astrid/billing/BillingActivity.java | 10 ++ 10 files changed, 228 insertions(+), 33 deletions(-) create mode 100644 astrid/res/drawable/share_facebook.png create mode 100644 astrid/res/drawable/share_google.png create mode 100644 astrid/res/drawable/share_twitter.png create mode 100644 astrid/res/layout-land/share_activity.xml diff --git a/astrid/res/drawable/share_facebook.png b/astrid/res/drawable/share_facebook.png new file mode 100644 index 0000000000000000000000000000000000000000..10c47fef1e48780da36d665ab652c6007820f619 GIT binary patch literal 743 zcmeAS@N?(olHy`uVBq!ia0vp^Ng&L@1|(N6W#a=@eHq#mOVJ*g1F6gpSEunoob-m-}da6!V;W z)yHl9lk_A^f7DgHxBb8?H7!+h<*w=&00X>r>694x6+%vIo{5H?r>+TL-{Y4 zvzhGnevLokS3dEMzjJnb?dr8}#9HAA=JA-Cx@; zr?GX*v7QTaCyR46CiE&OG$<&H(Ti_Vd}Z|vh5eQ{+aBN6 zojy0O{m!pBuYaZQ-g|eFNHSs1G*n6M!j~!PC{xWt~$(696aLL=FG| literal 0 HcmV?d00001 diff --git a/astrid/res/drawable/share_google.png b/astrid/res/drawable/share_google.png new file mode 100644 index 0000000000000000000000000000000000000000..c2baf76ddb50b7b632f14caf15af87643f477937 GIT binary patch literal 3217 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 D%vdRR literal 0 HcmV?d00001 diff --git a/astrid/res/drawable/share_twitter.png b/astrid/res/drawable/share_twitter.png new file mode 100644 index 0000000000000000000000000000000000000000..32374929d87a71f30bf850b0ac452d4a463e6f03 GIT binary patch literal 2816 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 literal 0 HcmV?d00001 diff --git a/astrid/res/layout-land/share_activity.xml b/astrid/res/layout-land/share_activity.xml new file mode 100644 index 000000000..e8dec7ca4 --- /dev/null +++ b/astrid/res/layout-land/share_activity.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/astrid/res/layout/billing_activity.xml b/astrid/res/layout/billing_activity.xml index 96c811ca5..b613a0bda 100644 --- a/astrid/res/layout/billing_activity.xml +++ b/astrid/res/layout/billing_activity.xml @@ -2,7 +2,7 @@ + android:orientation="vertical" + android:background="#aaa" > - - - + + + + + + + + + android:layout_height="50dip" + android:layout_weight="1" + android:gravity="center" + android:orientation="horizontal"> + + + + + + - + android:layout_height="50dip" + android:layout_weight="1" + android:gravity="center" + android:orientation="horizontal" + android:layout_marginBottom="50dip"> + + + + + + + + \ No newline at end of file diff --git a/astrid/res/values/strings-actfm.xml b/astrid/res/values/strings-actfm.xml index e13f9cf89..39e24c00c 100644 --- a/astrid/res/values/strings-actfm.xml +++ b/astrid/res/values/strings-actfm.xml @@ -323,9 +323,11 @@ Attach files, voice backups, premium support & more - Share with Facebook - Share with Twitter - Share with Google+ + Like on Facebook + Follow on Twitter + Share on Google+ + Share the love! + By sharing, you\'ll help others be more productive! diff --git a/astrid/res/values/strings-core.xml b/astrid/res/values/strings-core.xml index 2a5a29d30..c37d5aa86 100644 --- a/astrid/res/values/strings-core.xml +++ b/astrid/res/values/strings-core.xml @@ -572,7 +572,7 @@ Tell others about Astrid - Rate us or share on your favorite social network + Share about Astrid on your favorite social network deactivated diff --git a/astrid/src/com/todoroo/astrid/activity/ShareActivity.java b/astrid/src/com/todoroo/astrid/activity/ShareActivity.java index eb0788988..2c8bc8952 100644 --- a/astrid/src/com/todoroo/astrid/activity/ShareActivity.java +++ b/astrid/src/com/todoroo/astrid/activity/ShareActivity.java @@ -1,23 +1,37 @@ package com.todoroo.astrid.activity; -import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.os.Bundle; -import android.text.SpannableString; -import android.text.style.UnderlineSpan; +import android.support.v4.app.ActionBar; +import android.support.v4.app.FragmentActivity; +import android.support.v4.view.MenuItem; +import android.util.DisplayMetrics; import android.view.View; import android.view.View.OnClickListener; +import android.widget.ImageView; +import android.widget.ImageView.ScaleType; +import android.widget.LinearLayout; import android.widget.TextView; import com.timsu.astrid.R; +import com.todoroo.astrid.service.ThemeService; -public class ShareActivity extends Activity { +public class ShareActivity extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { + ThemeService.applyTheme(this); super.onCreate(savedInstanceState); + ActionBar actionBar = getSupportActionBar(); + actionBar.setDisplayHomeAsUpEnabled(true); + actionBar.setDisplayShowTitleEnabled(false); + + actionBar.setDisplayShowCustomEnabled(true); + actionBar.setCustomView(R.layout.header_title_view); + ((TextView) actionBar.getCustomView().findViewById(R.id.title)).setText(R.string.share_title); + setContentView(R.layout.share_activity); TextView fb = (TextView) findViewById(R.id.share_facebook); setUpTextView(fb, getString(R.string.share_with_facebook), "http://facebook.com/weloveastrid"); //$NON-NLS-1$ @@ -28,13 +42,13 @@ public class ShareActivity extends Activity { TextView google = (TextView) findViewById(R.id.share_google); setUpTextView(google, getString(R.string.share_with_google), "https://plus.google.com/116404018347675245869"); //$NON-NLS-1$ + setupText(); + } private void setUpTextView(TextView tv, String text, final String url) { - SpannableString span = new SpannableString(text); - span.setSpan(new UnderlineSpan(), 0, text.length(), 0); - tv.setText(span); - tv.setOnClickListener(new OnClickListener() { + tv.setText(text); + ((View) tv.getParent()).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url)); @@ -43,4 +57,30 @@ public class ShareActivity extends Activity { }); } + private void setupText() { + View speechBubbleBackground = findViewById(R.id.speech_bubble_container); + speechBubbleBackground.setBackgroundColor(0); + + DisplayMetrics metrics = getResources().getDisplayMetrics(); + ImageView icon = (ImageView) findViewById(R.id.astridIcon); + + int dim = (int) (80 * metrics.density); + icon.setLayoutParams(new LinearLayout.LayoutParams(dim, dim)); + icon.setScaleType(ScaleType.FIT_CENTER); + + TextView speechBubble = (TextView) findViewById(R.id.reminder_message); + + speechBubble.setText(R.string.share_speech_bubble); + speechBubble.setTextSize(17); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == android.R.id.home) { + finish(); + return true; + } + return super.onOptionsItemSelected(item); + } + } diff --git a/astrid/src/com/todoroo/astrid/billing/BillingActivity.java b/astrid/src/com/todoroo/astrid/billing/BillingActivity.java index add98b644..de9bafa82 100644 --- a/astrid/src/com/todoroo/astrid/billing/BillingActivity.java +++ b/astrid/src/com/todoroo/astrid/billing/BillingActivity.java @@ -11,6 +11,7 @@ import android.os.Bundle; import android.os.Handler; import android.support.v4.app.ActionBar; import android.support.v4.app.FragmentActivity; +import android.support.v4.view.MenuItem; import android.text.Html; import android.text.Spanned; import android.util.DisplayMetrics; @@ -274,4 +275,13 @@ public class BillingActivity extends FragmentActivity { billingService.restoreTransactions(); } } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + if (item.getItemId() == android.R.id.home) { + finish(); + return true; + } + return super.onOptionsItemSelected(item); + } }