From 0d218835464cbdfdaf30eca3fda1ef2127dfdf65 Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Fri, 21 Apr 2017 10:10:31 +0200 Subject: [PATCH] Add 'Details' button to about screen. --- .../main/java/com/b44t/ui/IntroActivity.java | 128 ++++++++++++++---- .../java/com/b44t/ui/SettingsActivity.java | 76 +---------- .../src/main/res/drawable-hdpi/regbtn2.9.png | Bin 258 -> 0 bytes .../res/drawable-hdpi/regbtn2_pressed.9.png | Bin 254 -> 0 bytes .../src/main/res/drawable-mdpi/regbtn2.9.png | Bin 186 -> 0 bytes .../res/drawable-mdpi/regbtn2_pressed.9.png | Bin 181 -> 0 bytes .../main/res/drawable-v21/regbtn_states.xml | 6 - .../src/main/res/drawable-xhdpi/regbtn2.9.png | Bin 327 -> 0 bytes .../res/drawable-xhdpi/regbtn2_pressed.9.png | Bin 320 -> 0 bytes .../main/res/drawable-xxhdpi/regbtn2.9.png | Bin 478 -> 0 bytes .../res/drawable-xxhdpi/regbtn2_pressed.9.png | Bin 483 -> 0 bytes .../src/main/res/drawable/regbtn_states.xml | 8 -- .../src/main/res/layout/intro_layout.xml | 44 ++++-- 13 files changed, 140 insertions(+), 122 deletions(-) delete mode 100644 MessengerProj/src/main/res/drawable-hdpi/regbtn2.9.png delete mode 100644 MessengerProj/src/main/res/drawable-hdpi/regbtn2_pressed.9.png delete mode 100644 MessengerProj/src/main/res/drawable-mdpi/regbtn2.9.png delete mode 100644 MessengerProj/src/main/res/drawable-mdpi/regbtn2_pressed.9.png delete mode 100644 MessengerProj/src/main/res/drawable-v21/regbtn_states.xml delete mode 100644 MessengerProj/src/main/res/drawable-xhdpi/regbtn2.9.png delete mode 100644 MessengerProj/src/main/res/drawable-xhdpi/regbtn2_pressed.9.png delete mode 100644 MessengerProj/src/main/res/drawable-xxhdpi/regbtn2.9.png delete mode 100644 MessengerProj/src/main/res/drawable-xxhdpi/regbtn2_pressed.9.png delete mode 100644 MessengerProj/src/main/res/drawable/regbtn_states.xml diff --git a/MessengerProj/src/main/java/com/b44t/ui/IntroActivity.java b/MessengerProj/src/main/java/com/b44t/ui/IntroActivity.java index bc12bcf0f..54459c7e3 100644 --- a/MessengerProj/src/main/java/com/b44t/ui/IntroActivity.java +++ b/MessengerProj/src/main/java/com/b44t/ui/IntroActivity.java @@ -26,12 +26,17 @@ package com.b44t.ui; import android.animation.ObjectAnimator; import android.animation.StateListAnimator; import android.app.Activity; +import android.app.AlertDialog; +import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.content.pm.ActivityInfo; +import android.content.pm.PackageInfo; import android.database.DataSetObserver; import android.os.Build; import android.os.Bundle; import android.os.Parcelable; +import android.os.PowerManager; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; @@ -39,12 +44,15 @@ import android.view.ViewGroup; import android.view.Window; import android.view.animation.Animation; import android.view.animation.AnimationUtils; +import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import com.b44t.messenger.AndroidUtilities; import com.b44t.messenger.ApplicationLoader; +import com.b44t.messenger.BuildConfig; import com.b44t.messenger.LocaleController; +import com.b44t.messenger.MrMailbox; import com.b44t.messenger.R; import com.b44t.ui.ActionBar.Theme; @@ -65,6 +73,8 @@ public class IntroActivity extends Activity { private int[] titles; private int[] messages; + private boolean isAbout = false; + @Override protected void onCreate(Bundle savedInstanceState) { setTheme(R.style.Theme_MessengerProj); @@ -72,6 +82,11 @@ public class IntroActivity extends Activity { Theme.loadRecources(this); requestWindowFeature(Window.FEATURE_NO_TITLE); + Bundle extras = getIntent().getExtras(); + if( extras != null && extras.getBoolean("com.b44t.ui.IntroActivity.isAbout") ) { + isAbout = true; + } + float heightOnLandscape = min(AndroidUtilities.displaySize.x,AndroidUtilities.displaySize.y)/AndroidUtilities.density; if( heightOnLandscape < 450 ) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); @@ -137,21 +152,48 @@ public class IntroActivity extends Activity { }; } viewPager = (ViewPager) findViewById(R.id.intro_view_pager); - TextView startMessagingButton = (TextView) findViewById(R.id.start_messaging_button); - String buttonTitle = ApplicationLoader.applicationContext.getString(R.string.IntroStartMessaging); - Bundle extras = getIntent().getExtras(); - if( extras != null && extras.getString("buttonTitle")!=null ) { - buttonTitle = extras.getString("buttonTitle"); + Button startMessagingButton = (Button) findViewById(R.id.start_messaging_button); + Button detailsButton = (Button) findViewById(R.id.details_button); + if( isAbout ) { + startMessagingButton.setText(ApplicationLoader.applicationContext.getString(R.string.OK)); + detailsButton.setText(ApplicationLoader.applicationContext.getString(R.string.Info)); + detailsButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + new AlertDialog.Builder(IntroActivity.this) + .setTitle(ApplicationLoader.applicationContext.getString(R.string.AppName) + " v" + getVersion()) + .setMessage(MrMailbox.getInfo() + "\n\n" + getAndroidInfo()) + .setPositiveButton(LocaleController.getString("OK", R.string.OK), new DialogInterface.OnClickListener() { + @Override + public void onClick(DialogInterface dialogInterface, int i) { + ; + } + }) + .show(); + } + }); } - startMessagingButton.setText(buttonTitle); + else { + startMessagingButton.setText(ApplicationLoader.applicationContext.getString(R.string.IntroStartMessaging)); + detailsButton.setVisibility(View.GONE); + } + startMessagingButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + if(!isAbout) { + if(startPressed) { + return; + } + startPressed = true; + Intent intent2 = new Intent(IntroActivity.this, LaunchActivity.class); + intent2.putExtra("fromIntro", true); + startActivity(intent2); + } + finish(); + } + }); - if (Build.VERSION.SDK_INT >= 21) { - StateListAnimator animator = new StateListAnimator(); - animator.addState(new int[]{android.R.attr.state_pressed}, ObjectAnimator.ofFloat(startMessagingButton, "translationZ", AndroidUtilities.dp(2), AndroidUtilities.dp(4)).setDuration(200)); - animator.addState(new int[]{}, ObjectAnimator.ofFloat(startMessagingButton, "translationZ", AndroidUtilities.dp(4), AndroidUtilities.dp(2)).setDuration(200)); - startMessagingButton.setStateListAnimator(animator); - } topImage1 = (ImageView) findViewById(R.id.icon_image1); topImage2 = (ImageView) findViewById(R.id.icon_image2); bottomPages = (ViewGroup) findViewById(R.id.bottom_pages); @@ -234,23 +276,57 @@ public class IntroActivity extends Activity { } }); - startMessagingButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - if (startPressed) { - return; - } - startPressed = true; - Intent intent2 = new Intent(IntroActivity.this, LaunchActivity.class); - intent2.putExtra("fromIntro", true); - startActivity(intent2); - finish(); - } - }); - justCreated = true; } + public static String getVersion() + { + try { + PackageInfo pInfo = ApplicationLoader.applicationContext.getPackageManager().getPackageInfo(ApplicationLoader.applicationContext.getPackageName(), 0); + return pInfo.versionName; + } + catch(Exception e) { + return "ErrVersion"; + } + } + + private String getAndroidInfo() + { + String abi = "ErrAbi"; + int versionCode = 0, ignoreBatteryOptimizations = -1; + try { + PackageInfo pInfo = ApplicationLoader.applicationContext.getPackageManager().getPackageInfo(ApplicationLoader.applicationContext.getPackageName(), 0); + versionCode = pInfo.versionCode; + switch (versionCode % 10) { + case 0: + abi = "arm"; + break; + case 1: + abi = "arm-v7a"; + break; + case 2: + abi = "x86"; + break; + case 3: + abi = "universal"; + break; + } + if( Build.VERSION.SDK_INT >= 23 ) { + PowerManager pm = (PowerManager) ApplicationLoader.applicationContext.getSystemService(Context.POWER_SERVICE); + ignoreBatteryOptimizations = pm.isIgnoringBatteryOptimizations(ApplicationLoader.applicationContext.getPackageName())? 1 : 0; + } + } catch (Exception e) {} + + return "SDK_INT=" + Build.VERSION.SDK_INT + + "\nMANUFACTURER=" + Build.MANUFACTURER + + "\nMODEL=" + Build.MODEL + + "\nAPPLICATION_ID=" + BuildConfig.APPLICATION_ID + + "\nBUILD_TYPE=" + BuildConfig.BUILD_TYPE + + "\nABI=" + abi // ABI = Application Binary Interface + + "\nignoreBatteryOptimizations=" + ignoreBatteryOptimizations + + "\nversionCode=" + versionCode; + } + @Override protected void onResume() { super.onResume(); diff --git a/MessengerProj/src/main/java/com/b44t/ui/SettingsActivity.java b/MessengerProj/src/main/java/com/b44t/ui/SettingsActivity.java index 8a5c1859c..391b64fe1 100644 --- a/MessengerProj/src/main/java/com/b44t/ui/SettingsActivity.java +++ b/MessengerProj/src/main/java/com/b44t/ui/SettingsActivity.java @@ -59,7 +59,7 @@ public class SettingsActivity extends BaseFragment { // the list private int accountHeaderRow, usernameRow, accountSettingsRow, accountShadowRow; private int settingsHeaderRow, privacyRow, notificationRow, backgroundRow, advRow, settingsShadowRow; - private int aboutHeaderRow, aboutRow, infoRow, aboutShadowRow; + private int aboutHeaderRow, aboutRow, aboutShadowRow; private int rowCount; private static final int ROWTYPE_SHADOW = 0; @@ -89,7 +89,6 @@ public class SettingsActivity extends BaseFragment { aboutHeaderRow = rowCount++; aboutRow = rowCount++; - infoRow = rowCount++; aboutShadowRow = rowCount++; return true; @@ -148,75 +147,15 @@ public class SettingsActivity extends BaseFragment { } else if (i == aboutRow ) { Intent intent2 = new Intent(getParentActivity(), IntroActivity.class); - intent2.putExtra("buttonTitle", ApplicationLoader.applicationContext.getString(R.string.OK)); + intent2.putExtra("com.b44t.ui.IntroActivity.isAbout", true); getParentActivity().startActivity(intent2); } - else if( i== infoRow ) { - AlertDialog.Builder builder = new AlertDialog.Builder(getParentActivity()); - builder.setTitle(ApplicationLoader.applicationContext.getString(R.string.AppName) + " v" + getVersion()); - builder.setMessage(MrMailbox.getInfo() + "\n\n" + getAndroidInfo()); - builder.setPositiveButton(LocaleController.getString("OK", R.string.OK), new DialogInterface.OnClickListener() { - @Override - public void onClick(DialogInterface dialogInterface, int i) { - ; - } - }); - showDialog(builder.create()); - } } }); return fragmentView; } - private String getVersion() - { - try { - PackageInfo pInfo = ApplicationLoader.applicationContext.getPackageManager().getPackageInfo(ApplicationLoader.applicationContext.getPackageName(), 0); - return pInfo.versionName; - } - catch(Exception e) { - return "ErrVersion"; - } - } - - private String getAndroidInfo() - { - String abi = "ErrAbi"; - int versionCode = 0, ignoreBatteryOptimizations = -1; - try { - PackageInfo pInfo = ApplicationLoader.applicationContext.getPackageManager().getPackageInfo(ApplicationLoader.applicationContext.getPackageName(), 0); - versionCode = pInfo.versionCode; - switch (versionCode % 10) { - case 0: - abi = "arm"; - break; - case 1: - abi = "arm-v7a"; - break; - case 2: - abi = "x86"; - break; - case 3: - abi = "universal"; - break; - } - if( Build.VERSION.SDK_INT >= 23 ) { - PowerManager pm = (PowerManager) ApplicationLoader.applicationContext.getSystemService(Context.POWER_SERVICE); - ignoreBatteryOptimizations = pm.isIgnoringBatteryOptimizations(ApplicationLoader.applicationContext.getPackageName())? 1 : 0; - } - } catch (Exception e) {} - - return "SDK_INT=" + Build.VERSION.SDK_INT - + "\nMANUFACTURER=" + Build.MANUFACTURER - + "\nMODEL=" + Build.MODEL - + "\nAPPLICATION_ID=" + BuildConfig.APPLICATION_ID - + "\nBUILD_TYPE=" + BuildConfig.BUILD_TYPE - + "\nABI=" + abi // ABI = Application Binary Interface - + "\nignoreBatteryOptimizations=" + ignoreBatteryOptimizations - + "\nversionCode=" + versionCode; - } - private class ListAdapter extends BaseFragmentAdapter { private Context mContext; @@ -233,7 +172,7 @@ public class SettingsActivity extends BaseFragment { public boolean isEnabled(int i) { return i == usernameRow || i == accountSettingsRow || i == privacyRow || i == notificationRow || i == backgroundRow || i == advRow || - i == aboutRow || i == infoRow; + i == aboutRow; } @Override @@ -283,9 +222,6 @@ public class SettingsActivity extends BaseFragment { else if (i == advRow) { textCell.setText(ApplicationLoader.applicationContext.getString(R.string.AdvancedSettings), false); } - else if (i == aboutRow) { - textCell.setText(ApplicationLoader.applicationContext.getString(R.string.AboutThisProgram), true); - } } else if (type == ROWTYPE_HEADER) { if (view == null) { @@ -326,8 +262,8 @@ public class SettingsActivity extends BaseFragment { } textCell.setTextAndValue(LocaleController.getString("MyName", R.string.MyName), subtitle, true); } - else if (i == infoRow) { - textCell.setTextAndValue(ApplicationLoader.applicationContext.getString(R.string.Info), "v" + getVersion(), false); + else if (i == aboutRow) { + textCell.setTextAndValue(ApplicationLoader.applicationContext.getString(R.string.AboutThisProgram), "v" + IntroActivity.getVersion(), false); } } return view; @@ -338,7 +274,7 @@ public class SettingsActivity extends BaseFragment { if (i == accountShadowRow || i == settingsShadowRow || i == aboutShadowRow ) { return ROWTYPE_SHADOW; } - else if ( i == accountSettingsRow || i == usernameRow || i==infoRow ) { + else if ( i == accountSettingsRow || i == usernameRow || i==aboutRow ) { return ROWTYPE_DETAIL_SETTINGS; } else if (i == settingsHeaderRow || i == aboutHeaderRow || i == accountHeaderRow) { diff --git a/MessengerProj/src/main/res/drawable-hdpi/regbtn2.9.png b/MessengerProj/src/main/res/drawable-hdpi/regbtn2.9.png deleted file mode 100644 index 715b972eae4895ed37ea90345561afff8705efe9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^P9V&|1|%PcFuVX#Cp}#pLn>~)y<^XH$UuhmfnVG* z%ay?gwI$f!Kfc4`6uywXqqDibOJq*VGwwaAw|{@T|9aQg>E_eEUZ1bOTj03joJ*!h zrp!LE__f8Acm7KXe14}fOw+s@FJO3gR;$L{`-(-U85tj0yRb1bv2X||I5aSj&gi@C z(D1|l$Q^?tZ#?QMRpOU3|C+(~v^a|+VbxswG+{G~86Q6%I41kT?qNYt+BO5Arx-k4 L{an^LB{Ts5jh$MO diff --git a/MessengerProj/src/main/res/drawable-hdpi/regbtn2_pressed.9.png b/MessengerProj/src/main/res/drawable-hdpi/regbtn2_pressed.9.png deleted file mode 100644 index 49da253e74e7ca5d7374efd082e12515eb896d9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^P9V&|1|%PcFuVX#M?GB}Ln>~)y<^DL>>$DtuzF5X z{six3+qhO-@5(G5#bc%}eKG1tmKkvWU!pxWU$7X{eb8N)HY{^3&qCgKZc)I$ztaD0e F0stn_R6PIy diff --git a/MessengerProj/src/main/res/drawable-mdpi/regbtn2.9.png b/MessengerProj/src/main/res/drawable-mdpi/regbtn2.9.png deleted file mode 100644 index 9068fa941ccf354ab77f6210c0407e82fff382cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK1|+Sd9?b$$jh-%!Ar-gY-aN?Lpuppn_)ReV z!>a{{^n4iA)cOJy6<;(m-uf|X&+qG>-{1M;68Jef`Cg61WPaB#Wy_w)^#53VXV<~K zuWBxe9k9Ke!N@CRl5t^yV>25DBdz$Sw$-%LEW51Ot2!&g?Hj`4i|dxB8&0WaSklIL Vaq+@c)j-EEc)I$ztaD0e0s!yuNt^%x diff --git a/MessengerProj/src/main/res/drawable-mdpi/regbtn2_pressed.9.png b/MessengerProj/src/main/res/drawable-mdpi/regbtn2_pressed.9.png deleted file mode 100644 index 1134f1ad4e9c8a68456069ec446bdbfc770c09b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK1|+Sd9?b$$HJ&bxAr-gY-rUIBV8FwAk!MnD zhNQuUU@iq`ms1kQI9N1|8g$QH`g;B=e_~D2ijPN2=Ou*eKE;=mHm#Gdx|#NydBv|QH~r5)T2a9CqHM<0e+%}B Q0^Pyj>FVdQ&MBb@0Oqwvb^rhX diff --git a/MessengerProj/src/main/res/drawable-v21/regbtn_states.xml b/MessengerProj/src/main/res/drawable-v21/regbtn_states.xml deleted file mode 100644 index 4c8d58841..000000000 --- a/MessengerProj/src/main/res/drawable-v21/regbtn_states.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/MessengerProj/src/main/res/drawable-xhdpi/regbtn2.9.png b/MessengerProj/src/main/res/drawable-xhdpi/regbtn2.9.png deleted file mode 100644 index 815fed375dd10d4a4557fb85ed524b4334357881..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 327 zcmeAS@N?(olHy`uVBq!ia0vp^5g^RL1|$oo8kjIJF!Fi2IEGZ*dVBXE=OF`zwu^5b zGBkzFjm+s*C{ghY{Gh_Yw_t6;$`=c#bSUV5h;{Pozw=+9ZSHJ4vp;LDwR?tLxxJ?6 z_?iy$-WQ4C`O&BE9p_2hdDDM3d%DL-tMi|$t}*JL+R;4ek9oLkL2+T@q&?a45+}r& zcqBHkF&t*#iD+PC7E3tLz$&qUftgL`Km#MULBat82B@Gx0wY`ysKG7 td2*!|PbcToTU diff --git a/MessengerProj/src/main/res/drawable-xhdpi/regbtn2_pressed.9.png b/MessengerProj/src/main/res/drawable-xhdpi/regbtn2_pressed.9.png deleted file mode 100644 index 5549918ce9cefbc5b116fe91e45894a9f7b3df57..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^5g^RL1|$oo8kjIJFtU5PIEGZ*dVANGtI2_(E%E%s zOJ*;2Ts$wzba3&EyN(&EEV2jG76xT08VMaS{*aee#=rUhq?9|EU$=f#w+_kNrQLt? zTS$A9@2Yn^&8hE`)lMeW$F&}33)nL2>9Uyp4ToL%RI6O&e{iW(ZMQR+Aj!ldvB8bu zFau9S10%Co!hr@>i46?QY&r)T7`Y7+4j3>%1q~7y;etRt20S2@AVH8ukV=q2K#e@i zFhP(;CY~Sh4QFi_fLiynnw5*~KX@mSQKjnr!F|VVlG2Kd(hi?I`8*@*ny-JDxI^&k lH=p`1hJ4=p`7G0Y#$V^uzNhP7VgiN?gQu&X%Q~loCIAZ7a~A*r diff --git a/MessengerProj/src/main/res/drawable-xxhdpi/regbtn2.9.png b/MessengerProj/src/main/res/drawable-xxhdpi/regbtn2.9.png deleted file mode 100644 index d5cf498e9de7caa3ee3be9bae3ae0c24c132d7c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 478 zcmeAS@N?(olHy`uVBq!ia0vp^%^=Ld1|-+bU6IDXz_`@Y#WAGf*4t}_U56Y*8Xm6P z)8cN>Egt>BM=aCERUtu}WzFJ>mbGg(%``odF*Endcium}5qrO|L3yG zV``=@f4|5kwD$TwKl$)`*;BvI`TqAy!~Jtr)sf%ott7%$@KwI&m)JC6QI7QC&WPJQ z=0|uBf5{t35~y=+cN-xr>mdKI;Vst0K$H)TL1t6 diff --git a/MessengerProj/src/main/res/drawable-xxhdpi/regbtn2_pressed.9.png b/MessengerProj/src/main/res/drawable-xxhdpi/regbtn2_pressed.9.png deleted file mode 100644 index bbc881c2a008f2e001fda1c4ed323e17e77d0e70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^%^=Ld1|-+bU6IDXz_`lO#WAGf*4t}_eN6!Z4T)O% zjOHJ*X1@{L!<@6Hud`FNe?rBiwJRdzgaW*`-z>G8w0`rfpRyWV*XK>Ne_ww7U%}nb z_`B|*%Y&~jNi_OY)>gUy^1RRc=Kp)JeYsWH(=UfpA{H*$^Sxc-S@(r4dmp-7`F6T> z$5Dg*QaozwGXH1uq)tB9CKP_}f0<;BPTT(#d-@MLGzl{&Iq-Ba8h!}kX={`afbtaB zjx-SDID+&Mr4pGC`?%!J|Gxj2L4131IG0i!N9B8Orf8nmttZy^Sk2{mRXf$! m>bb4H_`-_5M3p^{*yrwA&B%0^;T - - - - - - - \ No newline at end of file diff --git a/MessengerProj/src/main/res/layout/intro_layout.xml b/MessengerProj/src/main/res/layout/intro_layout.xml index 9c1ac239f..55dbaeee8 100644 --- a/MessengerProj/src/main/res/layout/intro_layout.xml +++ b/MessengerProj/src/main/res/layout/intro_layout.xml @@ -86,20 +86,40 @@ android:layout_marginLeft="8dp"/> - - + android:layout_gravity="center_horizontal" + android:layout_marginTop="380dp"> + +