add About section
This commit is contained in:
parent
0633d0eceb
commit
92d61fb2d1
|
@ -28,6 +28,7 @@ android {
|
||||||
dependencies {
|
dependencies {
|
||||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||||
compile 'com.android.support:appcompat-v7:23.3.0'
|
compile 'com.android.support:appcompat-v7:23.3.0'
|
||||||
|
compile 'com.jakewharton:butterknife:7.0.1'
|
||||||
}
|
}
|
||||||
|
|
||||||
def Properties props = new Properties()
|
def Properties props = new Properties()
|
||||||
|
|
|
@ -15,3 +15,16 @@
|
||||||
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
||||||
# public *;
|
# public *;
|
||||||
#}
|
#}
|
||||||
|
|
||||||
|
# Butterknife
|
||||||
|
-keep class butterknife.** { *; }
|
||||||
|
-dontwarn butterknife.internal.**
|
||||||
|
-keep class **$$ViewBinder { *; }
|
||||||
|
|
||||||
|
-keepclasseswithmembernames class * {
|
||||||
|
@butterknife.* <fields>;
|
||||||
|
}
|
||||||
|
|
||||||
|
-keepclasseswithmembernames class * {
|
||||||
|
@butterknife.* <methods>;
|
||||||
|
}
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/AppTheme">
|
android:theme="@style/AppTheme">
|
||||||
<activity
|
<activity
|
||||||
android:name="com.simplemobiletools.flashlight.MainActivity"
|
android:name=".MainActivity"
|
||||||
android:screenOrientation="portrait">
|
android:screenOrientation="portrait">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN"/>
|
<action android:name="android.intent.action.MAIN"/>
|
||||||
|
@ -29,8 +29,13 @@
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
<activity
|
||||||
|
android:name=".AboutActivity"
|
||||||
|
android:label="@string/about"
|
||||||
|
android:screenOrientation="portrait"/>
|
||||||
|
|
||||||
<receiver
|
<receiver
|
||||||
android:name="com.simplemobiletools.flashlight.MyWidgetProvider"
|
android:name=".MyWidgetProvider"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:label="Simple Flashlight">
|
android:label="Simple Flashlight">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
|
|
@ -0,0 +1,52 @@
|
||||||
|
package com.simplemobiletools.flashlight;
|
||||||
|
|
||||||
|
import android.content.res.Resources;
|
||||||
|
import android.os.Bundle;
|
||||||
|
import android.support.v7.app.AppCompatActivity;
|
||||||
|
import android.text.Html;
|
||||||
|
import android.text.method.LinkMovementMethod;
|
||||||
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import java.util.Calendar;
|
||||||
|
|
||||||
|
import butterknife.Bind;
|
||||||
|
import butterknife.ButterKnife;
|
||||||
|
|
||||||
|
public class AboutActivity extends AppCompatActivity {
|
||||||
|
@Bind(R.id.about_copyright) TextView copyright;
|
||||||
|
@Bind(R.id.about_version) TextView version;
|
||||||
|
@Bind(R.id.about_email) TextView emailTV;
|
||||||
|
private Resources res;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
super.onCreate(savedInstanceState);
|
||||||
|
setContentView(R.layout.activity_about);
|
||||||
|
ButterKnife.bind(this);
|
||||||
|
res = getResources();
|
||||||
|
|
||||||
|
setupEmail();
|
||||||
|
setupVersion();
|
||||||
|
setupCopyright();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupEmail() {
|
||||||
|
final String email = res.getString(R.string.email);
|
||||||
|
final String appName = res.getString(R.string.app_name);
|
||||||
|
final String href = "<a href=\"mailto:" + email + "?subject=" + appName + "\">" + email + "</a>";
|
||||||
|
emailTV.setText(Html.fromHtml(href));
|
||||||
|
emailTV.setMovementMethod(LinkMovementMethod.getInstance());
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupVersion() {
|
||||||
|
final String versionName = BuildConfig.VERSION_NAME;
|
||||||
|
final String versionText = String.format(res.getString(R.string.version), versionName);
|
||||||
|
version.setText(versionText);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupCopyright() {
|
||||||
|
final int year = Calendar.getInstance().get(Calendar.YEAR);
|
||||||
|
final String copyrightText = String.format(res.getString(R.string.copyright), year);
|
||||||
|
copyright.setText(copyrightText);
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,11 @@
|
||||||
package com.simplemobiletools.flashlight;
|
package com.simplemobiletools.flashlight;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
|
import android.view.Menu;
|
||||||
|
import android.view.MenuInflater;
|
||||||
|
import android.view.MenuItem;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
|
@ -20,6 +24,25 @@ public class MainActivity extends AppCompatActivity implements MyCamera {
|
||||||
setupCameraImpl();
|
setupCameraImpl();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCreateOptionsMenu(Menu menu) {
|
||||||
|
MenuInflater inflater = getMenuInflater();
|
||||||
|
inflater.inflate(R.menu.menu, menu);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onOptionsItemSelected(MenuItem item) {
|
||||||
|
switch (item.getItemId()) {
|
||||||
|
case R.id.about:
|
||||||
|
final Intent intent = new Intent(getApplicationContext(), AboutActivity.class);
|
||||||
|
startActivity(intent);
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return super.onOptionsItemSelected(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void setupCameraImpl() {
|
private void setupCameraImpl() {
|
||||||
cameraImpl = new MyCameraImpl(this);
|
cameraImpl = new MyCameraImpl(this);
|
||||||
cameraImpl.toggleFlashlight();
|
cameraImpl.toggleFlashlight();
|
||||||
|
|
|
@ -0,0 +1,55 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<RelativeLayout
|
||||||
|
android:id="@+id/about_holder"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="match_parent"
|
||||||
|
android:layout_margin="@dimen/activity_margin">
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about_website"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:autoLink="web"
|
||||||
|
android:text="@string/website"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about_email_label"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/about_website"
|
||||||
|
android:layout_marginTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/email_label"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about_email"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/about_email_label"
|
||||||
|
android:text="@string/email"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about_license"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_below="@+id/about_email"
|
||||||
|
android:layout_marginTop="@dimen/activity_margin"
|
||||||
|
android:text="@string/license"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about_version"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_above="@+id/about_copyright"
|
||||||
|
android:gravity="center_horizontal"
|
||||||
|
android:text="v 1.0"/>
|
||||||
|
|
||||||
|
<TextView
|
||||||
|
android:id="@+id/about_copyright"
|
||||||
|
android:layout_width="match_parent"
|
||||||
|
android:layout_height="wrap_content"
|
||||||
|
android:layout_alignParentBottom="true"
|
||||||
|
android:gravity="center_horizontal"
|
||||||
|
android:text="Copyright © Simple Mobile Tools 2000"/>
|
||||||
|
|
||||||
|
</RelativeLayout>
|
|
@ -3,10 +3,7 @@
|
||||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:paddingBottom="@dimen/activity_vertical_margin"
|
android:paddingBottom="@dimen/activity_margin">
|
||||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
|
||||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
|
||||||
android:paddingTop="@dimen/activity_vertical_margin">
|
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/toggle_btn"
|
android:id="@+id/toggle_btn"
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||||
|
<item
|
||||||
|
android:id="@+id/about"
|
||||||
|
android:title="@string/about"
|
||||||
|
app:showAsAction="never"/>
|
||||||
|
</menu>
|
|
@ -1,5 +1,3 @@
|
||||||
<resources>
|
<resources>
|
||||||
<!-- Default screen margins, per the Android Design guidelines. -->
|
<dimen name="activity_margin">16dp</dimen>
|
||||||
<dimen name="activity_horizontal_margin">16dp</dimen>
|
|
||||||
<dimen name="activity_vertical_margin">16dp</dimen>
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
|
@ -1,4 +1,13 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Simple Flashlight</string>
|
<string name="app_name">Simple Flashlight</string>
|
||||||
<string name="camera_error">Obtaining the camera failed</string>
|
<string name="camera_error">Obtaining the camera failed</string>
|
||||||
|
|
||||||
|
<!-- About -->
|
||||||
|
<string name="about">About</string>
|
||||||
|
<string name="website">For more simple apps please visit:\nhttp://simplemobiletools.com</string>
|
||||||
|
<string name="email_label">You can send your feedback and new app suggestions at:</string>
|
||||||
|
<string name="email">hello@simplemobiletools.com</string>
|
||||||
|
<string name="license">License</string>
|
||||||
|
<string name="version">v %1$s</string>
|
||||||
|
<string name="copyright">Copyright © Simple Mobile Tools %1$d</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Reference in New Issue