private final ICameraStatusUpdateNotify notifier;
private JSONObject latestResultObject = null;
+ private boolean focused = false;
private String avStatus = "";
private String tvStatus = "";
private String xvStatus = "";
String meteringMode = latestResultObject.getString("meteringMode");
String wbMode = latestResultObject.getString("WBMode");
String battery = latestResultObject.getString("battery");
+ boolean focus = latestResultObject.getBoolean("focused");
if (result.contains("OK"))
{
batteryStatus = battery;
notifier.updateRemainBattery(Integer.parseInt(batteryStatus));
}
+ if (focus != focused)
+ {
+ focused = focus;
+ notifier.updateFocusedStatus(focused);
+ }
}
System.gc();
}
void updatedMeteringMode(String meteringMode);
void updatedWBMode(String wbMode);
void updateRemainBattery(int percentage);
-
+ void updateFocusedStatus(boolean focused);
void updateIsoSensitivity(String sv);
void updateWarning(String warning);
void updateStorageStatus(String status);
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
+import android.graphics.Color;
+import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.Vibrator;
import android.support.annotation.NonNull;
import android.support.v4.app.Fragment;
import android.support.v4.content.ContextCompat;
import android.support.v4.content.res.ResourcesCompat;
+import android.support.v4.graphics.drawable.DrawableCompat;
import android.support.v7.app.ActionBar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.preference.PreferenceManager;
}
@Override
+ public void updateFocusedStatus(boolean focused)
+ {
+ Activity activity = getActivity();
+ try
+ {
+ if (activity != null)
+ {
+ ImageView view = getActivity().findViewById(R.id.focusUnlockImageView);
+ if (focused)
+ {
+ Drawable icon = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_center_focus_strong_black_24dp, null);
+ if (icon != null)
+ {
+ DrawableCompat.setTint(icon, Color.GREEN);
+ view.setImageDrawable(icon);
+ }
+ }
+ else
+ {
+ Drawable icon = ResourcesCompat.getDrawable(getResources(), R.drawable.ic_crop_free_black_24dp, null);
+ if (icon != null)
+ {
+ DrawableCompat.setTint(icon, Color.BLACK);
+ view.setImageDrawable(icon);
+ }
+ }
+ view.invalidate();
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ @Override
public void updateIsoSensitivity(String sv)
{
Log.v(TAG, "updateIsoSensitivity : " + sv);