diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 88fd914..3c2c115 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -20,7 +20,7 @@
android:supportsRtl="true"
android:theme="@style/AppTheme">
@@ -30,12 +30,12 @@
diff --git a/app/src/main/java/com/simplemobiletools/flashlight/MarshmallowCamera.java b/app/src/main/java/com/simplemobiletools/flashlight/MarshmallowCamera.java
index 5ef44fc..69f4cf9 100644
--- a/app/src/main/java/com/simplemobiletools/flashlight/MarshmallowCamera.java
+++ b/app/src/main/java/com/simplemobiletools/flashlight/MarshmallowCamera.java
@@ -9,6 +9,7 @@ import android.util.Log;
public class MarshmallowCamera {
private static final String TAG = MyCameraImpl.class.getSimpleName();
+
private MyCamera mCallback;
private Context mContext;
diff --git a/app/src/main/java/com/simplemobiletools/flashlight/MyCameraImpl.java b/app/src/main/java/com/simplemobiletools/flashlight/MyCameraImpl.java
index 2a6945f..37f1745 100644
--- a/app/src/main/java/com/simplemobiletools/flashlight/MyCameraImpl.java
+++ b/app/src/main/java/com/simplemobiletools/flashlight/MyCameraImpl.java
@@ -6,26 +6,27 @@ import android.util.Log;
public class MyCameraImpl {
private static final String TAG = MyCameraImpl.class.getSimpleName();
- private Camera camera;
- private Camera.Parameters params;
- private boolean isFlashlightOn;
- private MyCamera callback;
- private Context context;
- private boolean isMarshmallow;
- private MarshmallowCamera marshmallowCamera;
+ private static Camera mCamera;
+ private static Camera.Parameters mParams;
+ private static MyCamera mCallback;
+ private static Context mContext;
+ private static MarshmallowCamera mMarshmallowCamera;
+
+ private static boolean mIsFlashlightOn;
+ private static boolean mIsMarshmallow;
public MyCameraImpl(MyCamera camera, Context cxt) {
- callback = camera;
- context = cxt;
- isMarshmallow = isMarshmallow();
+ mCallback = camera;
+ mContext = cxt;
+ mIsMarshmallow = isMarshmallow();
handleCameraSetup();
}
public void toggleFlashlight() {
handleCameraSetup();
- isFlashlightOn = !isFlashlightOn;
+ mIsFlashlightOn = !mIsFlashlightOn;
- if (isFlashlightOn) {
+ if (mIsFlashlightOn) {
enableFlashlight();
} else {
disableFlashlight();
@@ -33,7 +34,7 @@ public class MyCameraImpl {
}
public void handleCameraSetup() {
- if (isMarshmallow) {
+ if (mIsMarshmallow) {
setupMarshmallowCamera();
} else {
setupCamera();
@@ -41,65 +42,67 @@ public class MyCameraImpl {
}
private void setupMarshmallowCamera() {
- if (marshmallowCamera == null) {
- marshmallowCamera = new MarshmallowCamera(callback, context);
+ if (mMarshmallowCamera == null) {
+ mMarshmallowCamera = new MarshmallowCamera(mCallback, mContext);
}
}
private void setupCamera() {
- if (isMarshmallow)
+ if (mIsMarshmallow)
return;
- if (camera == null) {
+ if (mCamera == null) {
try {
- camera = Camera.open();
- params = camera.getParameters();
- params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
- camera.setParameters(params);
+ mCamera = Camera.open();
+ mParams = mCamera.getParameters();
+ mParams.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
+ mCamera.setParameters(mParams);
- if (isFlashlightOn)
+ if (mIsFlashlightOn)
enableFlashlight();
} catch (Exception e) {
- Log.e(TAG, "setup camera " + e.getMessage());
- callback.cameraUnavailable();
+ Log.e(TAG, "setup mCamera " + e.getMessage());
+ mCallback.cameraUnavailable();
}
}
}
private void enableFlashlight() {
- if (isMarshmallow) {
+ if (mIsMarshmallow) {
toggleMarshmallowFlashlight(true);
} else {
- if (camera == null || params == null)
+ if (mCamera == null || mParams == null) {
return;
+ }
- params.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
- camera.setParameters(params);
+ mParams.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
+ mCamera.setParameters(mParams);
}
- callback.enableFlashlight();
+ mCallback.enableFlashlight();
}
private void disableFlashlight() {
if (isMarshmallow()) {
toggleMarshmallowFlashlight(false);
} else {
- if (camera == null || params == null)
+ if (mCamera == null || mParams == null) {
return;
+ }
- params.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
- camera.setParameters(params);
+ mParams.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
+ mCamera.setParameters(mParams);
}
- callback.disableFlashlight();
+ mCallback.disableFlashlight();
}
private void toggleMarshmallowFlashlight(boolean enable) {
- marshmallowCamera.toggleMarshmallowFlashlight(enable);
+ mMarshmallowCamera.toggleMarshmallowFlashlight(enable);
}
public void releaseCamera() {
- if (camera != null) {
- camera.release();
- camera = null;
+ if (mCamera != null) {
+ mCamera.release();
+ mCamera = null;
}
}
diff --git a/app/src/main/java/com/simplemobiletools/flashlight/MyWidgetProvider.java b/app/src/main/java/com/simplemobiletools/flashlight/MyWidgetProvider.java
index 184b9b7..8e302e7 100644
--- a/app/src/main/java/com/simplemobiletools/flashlight/MyWidgetProvider.java
+++ b/app/src/main/java/com/simplemobiletools/flashlight/MyWidgetProvider.java
@@ -11,67 +11,66 @@ import android.graphics.Bitmap;
import android.widget.RemoteViews;
public class MyWidgetProvider extends AppWidgetProvider implements MyCamera {
- private static MyCameraImpl cameraImpl;
- private static RemoteViews remoteViews;
- private static Context cxt;
- private static int[] widgetIds;
- private static AppWidgetManager widgetManager;
private static final String TOGGLE = "toggle";
- private static Bitmap coloredBmp;
+ private static MyCameraImpl mCameraImpl;
+ private static RemoteViews mRemoteViews;
+ private static AppWidgetManager mWidgetManager;
+ private static Bitmap mColoredBmp;
+
+ private static int[] mWidgetIds;
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
initVariables(context);
- appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
+ appWidgetManager.updateAppWidget(appWidgetIds, mRemoteViews);
}
private void initVariables(Context context) {
- cxt = context;
- final ComponentName component = new ComponentName(cxt, MyWidgetProvider.class);
- widgetManager = AppWidgetManager.getInstance(context);
- widgetIds = widgetManager.getAppWidgetIds(component);
+ final ComponentName component = new ComponentName(context, MyWidgetProvider.class);
+ mWidgetManager = AppWidgetManager.getInstance(context);
+ mWidgetIds = mWidgetManager.getAppWidgetIds(component);
- final Intent intent = new Intent(cxt, MyWidgetProvider.class);
+ final Intent intent = new Intent(context, MyWidgetProvider.class);
intent.setAction(TOGGLE);
- final PendingIntent pendingIntent = PendingIntent.getBroadcast(cxt, 0, intent, 0);
- remoteViews = new RemoteViews(cxt.getPackageName(), R.layout.widget);
- remoteViews.setOnClickPendingIntent(R.id.toggle_btn, pendingIntent);
- cameraImpl = new MyCameraImpl(this, cxt);
+ final PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0);
+ mRemoteViews = new RemoteViews(context.getPackageName(), R.layout.widget);
+ mRemoteViews.setOnClickPendingIntent(R.id.toggle_btn, pendingIntent);
+ mCameraImpl = new MyCameraImpl(this, context);
- final Resources res = cxt.getResources();
+ final Resources res = context.getResources();
final int appColor = res.getColor(R.color.colorPrimary);
- coloredBmp = Utils.getColoredIcon(cxt.getResources(), appColor, R.mipmap.flashlight_small);
+ mColoredBmp = Utils.getColoredIcon(context.getResources(), appColor, R.mipmap.flashlight_small);
}
@Override
public void onReceive(Context context, Intent intent) {
final String action = intent.getAction();
if (action.equals(TOGGLE)) {
- if (cameraImpl == null) {
+ if (mCameraImpl == null) {
initVariables(context);
}
- cameraImpl.toggleFlashlight();
+ mCameraImpl.toggleFlashlight();
} else
super.onReceive(context, intent);
}
@Override
public void enableFlashlight() {
- remoteViews.setImageViewBitmap(R.id.toggle_btn, coloredBmp);
- for (int widgetId : widgetIds) {
- widgetManager.updateAppWidget(widgetId, remoteViews);
+ mRemoteViews.setImageViewBitmap(R.id.toggle_btn, mColoredBmp);
+ for (int widgetId : mWidgetIds) {
+ mWidgetManager.updateAppWidget(widgetId, mRemoteViews);
}
}
@Override
public void disableFlashlight() {
- remoteViews.setImageViewResource(R.id.toggle_btn, R.mipmap.flashlight_small);
- for (int widgetId : widgetIds) {
- widgetManager.updateAppWidget(widgetId, remoteViews);
+ mRemoteViews.setImageViewResource(R.id.toggle_btn, R.mipmap.flashlight_small);
+ for (int widgetId : mWidgetIds) {
+ mWidgetManager.updateAppWidget(widgetId, mRemoteViews);
}
- cameraImpl.releaseCamera();
+ mCameraImpl.releaseCamera();
}
@Override
@@ -85,10 +84,10 @@ public class MyWidgetProvider extends AppWidgetProvider implements MyCamera {
}
private void releaseCamera(Context context) {
- if (cameraImpl == null)
+ if (mCameraImpl == null)
initVariables(context);
disableFlashlight();
- cameraImpl.releaseCamera();
+ mCameraImpl.releaseCamera();
}
}
diff --git a/app/src/main/java/com/simplemobiletools/flashlight/Utils.java b/app/src/main/java/com/simplemobiletools/flashlight/Utils.java
index ce5b04f..5e335e7 100644
--- a/app/src/main/java/com/simplemobiletools/flashlight/Utils.java
+++ b/app/src/main/java/com/simplemobiletools/flashlight/Utils.java
@@ -19,6 +19,7 @@ public class Utils {
final Paint paint = new Paint();
final ColorFilter filter = new PorterDuffColorFilter(newTextColor, PorterDuff.Mode.SRC_IN);
paint.setColorFilter(filter);
+
final Canvas canvas = new Canvas(bmp);
canvas.drawBitmap(bmp, 0, 0, paint);
return bmp;
diff --git a/app/src/main/java/com/simplemobiletools/flashlight/AboutActivity.java b/app/src/main/java/com/simplemobiletools/flashlight/activities/AboutActivity.java
similarity index 58%
rename from app/src/main/java/com/simplemobiletools/flashlight/AboutActivity.java
rename to app/src/main/java/com/simplemobiletools/flashlight/activities/AboutActivity.java
index 9d730dd..f0d75c7 100644
--- a/app/src/main/java/com/simplemobiletools/flashlight/AboutActivity.java
+++ b/app/src/main/java/com/simplemobiletools/flashlight/activities/AboutActivity.java
@@ -1,4 +1,4 @@
-package com.simplemobiletools.flashlight;
+package com.simplemobiletools.flashlight.activities;
import android.content.Intent;
import android.content.res.Resources;
@@ -8,6 +8,9 @@ import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.widget.TextView;
+import com.simplemobiletools.flashlight.BuildConfig;
+import com.simplemobiletools.flashlight.R;
+
import java.util.Calendar;
import butterknife.BindView;
@@ -15,17 +18,18 @@ import butterknife.ButterKnife;
import butterknife.OnClick;
public class AboutActivity extends AppCompatActivity {
- @BindView(R.id.about_copyright) TextView copyright;
- @BindView(R.id.about_version) TextView version;
- @BindView(R.id.about_email) TextView emailTV;
- private Resources res;
+ @BindView(R.id.about_copyright) TextView mCopyright;
+ @BindView(R.id.about_version) TextView mVersion;
+ @BindView(R.id.about_email) TextView mEmailTV;
+
+ private static Resources mRes;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_about);
ButterKnife.bind(this);
- res = getResources();
+ mRes = getResources();
setupEmail();
setupVersion();
@@ -33,23 +37,23 @@ public class AboutActivity extends AppCompatActivity {
}
private void setupEmail() {
- final String email = res.getString(R.string.email);
- final String appName = res.getString(R.string.app_name);
+ final String email = mRes.getString(R.string.email);
+ final String appName = mRes.getString(R.string.app_name);
final String href = "" + email + "";
- emailTV.setText(Html.fromHtml(href));
- emailTV.setMovementMethod(LinkMovementMethod.getInstance());
+ mEmailTV.setText(Html.fromHtml(href));
+ mEmailTV.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);
+ final String versionText = String.format(mRes.getString(R.string.version), versionName);
+ mVersion.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);
+ final String copyrightText = String.format(mRes.getString(R.string.copyright), year);
+ mCopyright.setText(copyrightText);
}
@OnClick(R.id.about_license)
diff --git a/app/src/main/java/com/simplemobiletools/flashlight/LicenseActivity.java b/app/src/main/java/com/simplemobiletools/flashlight/activities/LicenseActivity.java
similarity index 89%
rename from app/src/main/java/com/simplemobiletools/flashlight/LicenseActivity.java
rename to app/src/main/java/com/simplemobiletools/flashlight/activities/LicenseActivity.java
index db09a1c..26bb8d0 100644
--- a/app/src/main/java/com/simplemobiletools/flashlight/LicenseActivity.java
+++ b/app/src/main/java/com/simplemobiletools/flashlight/activities/LicenseActivity.java
@@ -1,14 +1,17 @@
-package com.simplemobiletools.flashlight;
+package com.simplemobiletools.flashlight.activities;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
+import com.simplemobiletools.flashlight.R;
+
import butterknife.ButterKnife;
import butterknife.OnClick;
public class LicenseActivity extends AppCompatActivity {
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
diff --git a/app/src/main/java/com/simplemobiletools/flashlight/MainActivity.java b/app/src/main/java/com/simplemobiletools/flashlight/activities/MainActivity.java
similarity index 69%
rename from app/src/main/java/com/simplemobiletools/flashlight/MainActivity.java
rename to app/src/main/java/com/simplemobiletools/flashlight/activities/MainActivity.java
index 21f76a5..4986da0 100644
--- a/app/src/main/java/com/simplemobiletools/flashlight/MainActivity.java
+++ b/app/src/main/java/com/simplemobiletools/flashlight/activities/MainActivity.java
@@ -1,22 +1,27 @@
-package com.simplemobiletools.flashlight;
+package com.simplemobiletools.flashlight.activities;
import android.content.Intent;
import android.graphics.PorterDuff;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
-import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.WindowManager;
import android.widget.ImageView;
+import com.simplemobiletools.flashlight.MyCamera;
+import com.simplemobiletools.flashlight.MyCameraImpl;
+import com.simplemobiletools.flashlight.R;
+import com.simplemobiletools.flashlight.Utils;
+
import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
public class MainActivity extends AppCompatActivity implements MyCamera {
- @BindView(R.id.toggle_btn) ImageView toggleBtn;
- private MyCameraImpl cameraImpl;
+ @BindView(R.id.toggle_btn) ImageView mToggleBtn;
+
+ private static MyCameraImpl mCameraImpl;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -29,8 +34,7 @@ public class MainActivity extends AppCompatActivity implements MyCamera {
@Override
public boolean onCreateOptionsMenu(Menu menu) {
- MenuInflater inflater = getMenuInflater();
- inflater.inflate(R.menu.menu, menu);
+ getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
@@ -47,50 +51,50 @@ public class MainActivity extends AppCompatActivity implements MyCamera {
}
private void setupCameraImpl() {
- cameraImpl = new MyCameraImpl(this, this);
- cameraImpl.toggleFlashlight();
+ mCameraImpl = new MyCameraImpl(this, this);
+ mCameraImpl.toggleFlashlight();
}
@OnClick(R.id.toggle_btn)
public void toggleFlashlight() {
- cameraImpl.toggleFlashlight();
+ mCameraImpl.toggleFlashlight();
}
@Override
protected void onStart() {
super.onStart();
- cameraImpl.handleCameraSetup();
+ mCameraImpl.handleCameraSetup();
}
@Override
protected void onResume() {
super.onResume();
- cameraImpl.handleCameraSetup();
+ mCameraImpl.handleCameraSetup();
}
@Override
protected void onPause() {
super.onPause();
- cameraImpl.releaseCamera();
+ mCameraImpl.releaseCamera();
}
@Override
protected void onStop() {
super.onStop();
- cameraImpl.releaseCamera();
+ mCameraImpl.releaseCamera();
}
@Override
public void enableFlashlight() {
final int appColor = getResources().getColor(R.color.colorPrimary);
- toggleBtn.setImageResource(R.mipmap.flashlight_big);
- toggleBtn.getDrawable().mutate().setColorFilter(appColor, PorterDuff.Mode.SRC_IN);
+ mToggleBtn.setImageResource(R.mipmap.flashlight_big);
+ mToggleBtn.getDrawable().mutate().setColorFilter(appColor, PorterDuff.Mode.SRC_IN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
@Override
public void disableFlashlight() {
- toggleBtn.setImageResource(R.mipmap.flashlight_big);
+ mToggleBtn.setImageResource(R.mipmap.flashlight_big);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}