--- /dev/null
+<component name="ProjectCodeStyleConfiguration">
+ <code_scheme name="Project" version="173">
+ <Objective-C-extensions>
+ <file>
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Import" />
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Macro" />
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Typedef" />
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Enum" />
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Constant" />
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Global" />
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Struct" />
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="FunctionPredecl" />
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Function" />
+ </file>
+ <class>
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Property" />
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="Synthesize" />
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InitMethod" />
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="StaticMethod" />
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="InstanceMethod" />
+ <option name="com.jetbrains.cidr.lang.util.OCDeclarationKind" value="DeallocMethod" />
+ </class>
+ <extensions>
+ <pair source="cpp" header="h" fileNamingConvention="NONE" />
+ <pair source="c" header="h" fileNamingConvention="NONE" />
+ </extensions>
+ </Objective-C-extensions>
+ </code_scheme>
+</component>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
- <resourceExtensions />
- <wildcardResourcePatterns>
- <entry name="!?*.java" />
- <entry name="!?*.form" />
- <entry name="!?*.class" />
- <entry name="!?*.groovy" />
- <entry name="!?*.scala" />
- <entry name="!?*.flex" />
- <entry name="!?*.kt" />
- <entry name="!?*.clj" />
- <entry name="!?*.aj" />
- </wildcardResourcePatterns>
- <annotationProcessing>
- <profile default="true" name="Default" enabled="false">
- <processorPath useClasspath="true" />
- </profile>
- </annotationProcessing>
+ <bytecodeTargetLevel target="1.8" />
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
+ <component name="GradleMigrationSettings" migrationVersion="1" />
<component name="GradleSettings">
<option name="linkedExternalProjectsSettings">
<GradleProjectSettings>
+ <option name="testRunner" value="PLATFORM" />
<option name="distributionType" value="LOCAL" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="gradleHome" value="C:\APL\Android\Android Studio\gradle\gradle-2.14.1" />
</set>
</option>
<option name="resolveModulePerSourceSet" value="false" />
+ <option name="useQualifiedModuleNames" value="true" />
</GradleProjectSettings>
</option>
</component>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="RemoteRepositoriesConfiguration">
+ <remote-repository>
+ <option name="id" value="central" />
+ <option name="name" value="Maven Central repository" />
+ <option name="url" value="https://repo1.maven.org/maven2" />
+ </remote-repository>
+ <remote-repository>
+ <option name="id" value="jboss.community" />
+ <option name="name" value="JBoss Community repository" />
+ <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
+ </remote-repository>
+ <remote-repository>
+ <option name="id" value="BintrayJCenter" />
+ <option name="name" value="BintrayJCenter" />
+ <option name="url" value="https://jcenter.bintray.com/" />
+ </remote-repository>
+ <remote-repository>
+ <option name="id" value="Google" />
+ <option name="name" value="Google" />
+ <option name="url" value="https://dl.google.com/dl/android/maven2/" />
+ </remote-repository>
+ <remote-repository>
+ <option name="id" value="C:\APL\Android\sdk\extras\m2repository" />
+ <option name="name" value="C:\APL\Android\sdk\extras\m2repository" />
+ <option name="url" value="file:/$PROJECT_DIR$/../../../../APL/Android/sdk/extras/m2repository/" />
+ </remote-repository>
+ <remote-repository>
+ <option name="id" value="C:\APL\Android\sdk\extras\android\m2repository" />
+ <option name="name" value="C:\APL\Android\sdk\extras\android\m2repository" />
+ <option name="url" value="file:/$PROJECT_DIR$/../../../../APL/Android/sdk/extras/android/m2repository/" />
+ </remote-repository>
+ <remote-repository>
+ <option name="id" value="C:\APL\Android\sdk\extras\google\m2repository" />
+ <option name="name" value="C:\APL\Android\sdk\extras\google\m2repository" />
+ <option name="url" value="file:/$PROJECT_DIR$/../../../../APL/Android/sdk/extras/google/m2repository/" />
+ </remote-repository>
+ <remote-repository>
+ <option name="id" value="maven" />
+ <option name="name" value="maven" />
+ <option name="url" value="https://maven.google.com" />
+ </remote-repository>
+ </component>
+</project>
\ No newline at end of file
<option name="myDefaultNotNull" value="android.support.annotation.NonNull" />
<option name="myNullables">
<value>
- <list size="4">
+ <list size="10">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.Nullable" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nullable" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.Nullable" />
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.Nullable" />
+ <item index="4" class="java.lang.String" itemvalue="javax.annotation.CheckForNull" />
+ <item index="5" class="java.lang.String" itemvalue="androidx.annotation.Nullable" />
+ <item index="6" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNullable" />
+ <item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.Nullable" />
+ <item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableDecl" />
+ <item index="9" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NullableType" />
</list>
</value>
</option>
<option name="myNotNulls">
<value>
- <list size="4">
+ <list size="9">
<item index="0" class="java.lang.String" itemvalue="org.jetbrains.annotations.NotNull" />
<item index="1" class="java.lang.String" itemvalue="javax.annotation.Nonnull" />
<item index="2" class="java.lang.String" itemvalue="edu.umd.cs.findbugs.annotations.NonNull" />
<item index="3" class="java.lang.String" itemvalue="android.support.annotation.NonNull" />
+ <item index="4" class="java.lang.String" itemvalue="androidx.annotation.NonNull" />
+ <item index="5" class="java.lang.String" itemvalue="androidx.annotation.RecentlyNonNull" />
+ <item index="6" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.qual.NonNull" />
+ <item index="7" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullDecl" />
+ <item index="8" class="java.lang.String" itemvalue="org.checkerframework.checker.nullness.compatqual.NonNullType" />
</list>
</value>
</option>
</component>
- <component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/A01c.iml" filepath="$PROJECT_DIR$/A01c.iml" />
- <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" />
- <module fileurl="file://$PROJECT_DIR$/wear/wear.iml" filepath="$PROJECT_DIR$/wear/wear.iml" />
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/app/A01c.app.iml" filepath="$PROJECT_DIR$/.idea/modules/app/A01c.app.iml" />
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/wear/A01c.wear.iml" filepath="$PROJECT_DIR$/.idea/modules/wear/A01c.wear.iml" />
</modules>
</component>
</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+ <component name="RenderSettings">
+ <option name="showDecorations" value="true" />
+ </component>
+</project>
\ No newline at end of file
apply plugin: 'com.android.application'
android {
- compileSdkVersion 27
- buildToolsVersion "27.0.3"
+ compileSdkVersion 30
+ //buildToolsVersion "30.0.3"
defaultConfig {
applicationId "jp.sfjp.gokigen.a01c"
minSdkVersion 14
- targetSdkVersion 27
- versionCode 33
- versionName "1.3.1"
+ targetSdkVersion 30
+ versionCode 35
+ versionName "1.3.2"
}
buildTypes {
release {
dependencies {
api fileTree(dir: 'libs', include: ['*.jar'])
wearApp project(path: ':wear')
- compileOnly 'com.google.android.wearable:wearable:2.3.0'
- api 'com.google.android.support:wearable:2.3.0'
- api 'com.google.android.gms:play-services-wearable:15.0.1'
- api 'com.android.support:animated-vector-drawable:27.1.1'
- api 'com.android.support:percent:27.1.1'
- api 'com.android.support:support-vector-drawable:27.1.1'
- api 'com.android.support:appcompat-v7:27.1.1'
- api 'com.android.support:preference-v7:27.1.1'
- api 'com.android.support:exifinterface:27.1.1'
- api 'com.android.support:support-v4:27.1.1'
+ compileOnly 'com.google.android.wearable:wearable:2.8.1'
+
+ implementation 'com.google.android.support:wearable:2.8.1'
+ implementation 'com.google.android.gms:play-services-wearable:17.0.0'
+ implementation 'com.android.support:wear:30.0.0'
+
+ implementation 'androidx.wear:wear:1.1.0'
+ implementation 'androidx.preference:preference-ktx:1.1.1'
+ implementation 'androidx.appcompat:appcompat:1.2.0'
+ implementation 'androidx.exifinterface:exifinterface:1.3.1'
+ implementation 'com.google.android.material:material:1.2.1'
+ implementation "androidx.core:core-ktx:1.3.2"
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
+
}
// Top-level build file where you can add configuration options common to all sub-projects/modules.
-
buildscript {
+ ext.kotlin_version = "1.4.20"
repositories {
- jcenter()
google()
+ jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.1.2'
+ classpath 'com.android.tools.build:gradle:4.1.1'
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
allprojects {
repositories {
- jcenter()
google()
+ jcenter()
+ maven {
+ url "https://maven.google.com"
+ }
}
}
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
+# AndroidX package structure to make it clearer which packages are bundled with the
+# Android operating system, and which are packaged with your app"s APK
+# https://developer.android.com/topic/libraries/support-library/androidx-rn
+android.useAndroidX=true
+# Automatically convert third-party libraries to use AndroidX
+android.enableJetifier=true
+# Kotlin code style for this project: "official" or "obsolete":
+kotlin.code.style=official
-#Sun Jun 03 16:59:12 JST 2018
+#Sat Nov 28 22:21:59 JST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip
apply plugin: 'com.android.application'
+apply plugin: 'kotlin-android'
android {
- compileSdkVersion 27
- buildToolsVersion "27.0.3"
+ compileSdkVersion 30
+ //buildToolsVersion "30.0.3"
defaultConfig {
applicationId "jp.sfjp.gokigen.a01c"
minSdkVersion 23
- targetSdkVersion 27
- versionCode 34
- versionName "1.3.1"
+ targetSdkVersion 30
+ versionCode 36
+ versionName "1.3.2"
}
buildTypes {
release {
dependencies {
api fileTree(include: ['*.jar'], dir: 'libs')
- compileOnly 'com.google.android.wearable:wearable:2.3.0'
- api 'com.google.android.support:wearable:2.3.0'
- api 'com.google.android.gms:play-services-wearable:15.0.1'
+ compileOnly 'com.google.android.wearable:wearable:2.8.1'
+
+ implementation 'com.google.android.support:wearable:2.8.1'
+ implementation 'com.google.android.gms:play-services-wearable:17.0.0'
+ implementation 'com.android.support:wear:30.0.0'
+
+ implementation 'androidx.wear:wear:1.1.0'
+ implementation 'androidx.preference:preference-ktx:1.1.1'
+ implementation 'androidx.appcompat:appcompat:1.2.0'
+ implementation 'androidx.exifinterface:exifinterface:1.3.1'
+ implementation 'com.google.android.material:material:1.2.1'
+ implementation "androidx.core:core-ktx:1.3.2"
+ implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
- //compile 'com.android.support:wear:26.0.0'
- api 'com.android.support:animated-vector-drawable:27.1.1'
- api 'com.android.support:percent:27.1.1'
- api 'com.android.support:support-vector-drawable:27.1.1'
- api 'com.android.support:appcompat-v7:27.1.1'
- api 'com.android.support:preference-v7:27.1.1'
- api 'com.android.support:exifinterface:27.1.1'
- api 'com.android.support:support-v4:27.1.1'
api files('libs/olycamerakit.jar')
}
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
- android:theme="@android:style/Theme.DeviceDefault">
+ android:theme="@style/AppTheme">
+ <!--android:theme="@android:style/Theme.DeviceDefault"-->
<uses-library android:name="com.google.android.wearable" android:required="false" />
<meta-data android:name="com.google.android.wearable.standalone" android:value="true" />
<activity
-package jp.sfjp.gokigen.a01c.olycamerawrapper;
+package jp.sfjp.gokigen.a01c;
import android.content.Context;
+import androidx.annotation.NonNull;
+
/**
* カメラの接続/切断
*
* Created by MRSa on 2017/02/28.
*/
-public interface IOlyCameraConnection
+public interface ICameraConnection
{
// WIFI 接続系
- void startWatchWifiStatus(Context context);
- void stopWatchWifiStatus(Context context);
+ void startWatchWifiStatus(@NonNull Context context);
+ void stopWatchWifiStatus(@NonNull Context context);
boolean isWatchWifiStatus();
/** カメラ接続系 **/
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
+import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.os.PowerManager;
import android.os.Vibrator;
import android.preference.PreferenceManager;
import android.provider.Settings;
-import android.support.wearable.activity.WearableActivity;
import android.util.Log;
import android.widget.ImageButton;
import android.widget.TextView;
import android.Manifest;
import android.content.pm.PackageManager;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.ContextCompat;
+
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.ContextCompat;
import jp.sfjp.gokigen.a01c.liveview.CameraLiveImageView;
import jp.sfjp.gokigen.a01c.liveview.CameraLiveViewListenerImpl;
* メインのActivity
*
*/
-public class MainActivity extends WearableActivity implements IChangeScene, IShowInformation, ICameraStatusReceiver, IDialogDismissedNotifier
+public class MainActivity extends AppCompatActivity implements IChangeScene, IShowInformation, ICameraStatusReceiver, IDialogDismissedNotifier
{
private final String TAG = toString();
static final int REQUEST_NEED_PERMISSIONS = 1010;
private FavoriteSettingSelectionDialog selectionDialog = null;
private Vibrator vibrator = null;
private boolean cameraDisconnectedHappened = false;
- private boolean ambientMode = false;
+ //private boolean ambientMode = false;
/**
*
Log.v(TAG, "onCreate()");
// Ambientモードを許してみる...
- setAmbientEnabled();
+ //setAmbientEnabled();
// 画面全体の設定
setContentView(R.layout.activity_main);
REQUEST_NEED_PERMISSIONS);
}
- if (!hasGps())
+ try
{
- // GPS機能が搭載されていない場合...
- Log.d(TAG, "This hardware doesn't have GPS.");
- // Fall back to functionality that does not use location or
- // warn the user that location function is not available.
- }
+ if (!hasGps())
+ {
+ // GPS機能が搭載されていない場合...
+ Log.d(TAG, "This hardware doesn't have GPS.");
+ // Fall back to functionality that does not use location or
+ // warn the user that location function is not available.
+ }
- // バイブレータをつかまえる
- vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
+ // バイブレータをつかまえる
+ vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
- // パワーマネージャをつかまえる
- powerManager = (PowerManager) getSystemService(POWER_SERVICE);
+ // パワーマネージャをつかまえる
+ powerManager = (PowerManager) getSystemService(POWER_SERVICE);
- setupCameraCoordinator();
- setupInitialButtonIcons();
- setupActionListener();
+ setupCameraCoordinator();
+ setupInitialButtonIcons();
+ setupActionListener();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
}
/**
exitApplication();
}
- /**
- *
- *
- */
+/*
@Override
public void onEnterAmbient(Bundle ambientDetails)
{
ambientMode =true;
}
- /**
- *
- *
- */
@Override
public void onExitAmbient()
{
ambientMode = false;
}
- /**
- *
- *
- */
@Override
public void onUpdateAmbient()
{
super.onUpdateAmbient();
Log.v(TAG, "onUpdateAmbient()");
}
+*/
/**
* ボタンが押された、画面がタッチされた、、は、リスナクラスで処理するよう紐づける
*/
private void setupActionListener()
{
- final ImageButton btn1 = findViewById(R.id.btn_1);
- btn1.setOnClickListener(listener);
- btn1.setOnLongClickListener(listener);
+ try
+ {
+ final ImageButton btn1 = findViewById(R.id.btn_1);
+ btn1.setOnClickListener(listener);
+ btn1.setOnLongClickListener(listener);
- final ImageButton btn2 = findViewById(R.id.btn_2);
- btn2.setOnClickListener(listener);
- btn2.setOnLongClickListener(listener);
+ final ImageButton btn2 = findViewById(R.id.btn_2);
+ btn2.setOnClickListener(listener);
+ btn2.setOnLongClickListener(listener);
- final ImageButton btn3 = findViewById(R.id.btn_3);
- btn3.setOnClickListener(listener);
- btn3.setOnLongClickListener(listener);
+ final ImageButton btn3 = findViewById(R.id.btn_3);
+ btn3.setOnClickListener(listener);
+ btn3.setOnLongClickListener(listener);
- final ImageButton btn4 = findViewById(R.id.btn_4);
- btn4.setOnClickListener(listener);
- btn4.setOnLongClickListener(listener);
+ final ImageButton btn4 = findViewById(R.id.btn_4);
+ btn4.setOnClickListener(listener);
+ btn4.setOnLongClickListener(listener);
- final ImageButton btn5 = findViewById(R.id.btn_5);
- btn5.setOnClickListener(listener);
- btn5.setOnLongClickListener(listener);
+ final ImageButton btn5 = findViewById(R.id.btn_5);
+ btn5.setOnClickListener(listener);
+ btn5.setOnLongClickListener(listener);
- final ImageButton btn6 = findViewById(R.id.btn_6);
- btn6.setOnClickListener(listener);
- btn6.setOnLongClickListener(listener);
+ final ImageButton btn6 = findViewById(R.id.btn_6);
+ btn6.setOnClickListener(listener);
+ btn6.setOnLongClickListener(listener);
- final TextView textArea1 = findViewById(R.id.text_1);
- textArea1.setOnClickListener(listener);
- textArea1.setOnLongClickListener(listener);
+ final TextView textArea1 = findViewById(R.id.text_1);
+ textArea1.setOnClickListener(listener);
+ textArea1.setOnLongClickListener(listener);
- final TextView textArea2 = findViewById(R.id.text_2);
- textArea2.setOnClickListener(listener);
- textArea2.setOnLongClickListener(listener);
+ final TextView textArea2 = findViewById(R.id.text_2);
+ textArea2.setOnClickListener(listener);
+ textArea2.setOnLongClickListener(listener);
- final TextView textArea3 = findViewById(R.id.text_3);
- textArea3.setOnClickListener(listener);
- textArea3.setOnLongClickListener(listener);
+ final TextView textArea3 = findViewById(R.id.text_3);
+ textArea3.setOnClickListener(listener);
+ textArea3.setOnLongClickListener(listener);
- final TextView textArea4 = findViewById(R.id.text_4);
- textArea4.setOnClickListener(listener);
- textArea4.setOnLongClickListener(listener);
+ final TextView textArea4 = findViewById(R.id.text_4);
+ textArea4.setOnClickListener(listener);
+ textArea4.setOnLongClickListener(listener);
- if (liveView == null)
+ if (liveView == null)
+ {
+ liveView = findViewById(R.id.liveview);
+ }
+ liveView.setOnTouchListener(listener);
+ messageDrawer = liveView.getMessageDrawer();
+ messageDrawer.setLevelGauge(coordinator.getLevelGauge());
+ }
+ catch (Exception e)
{
- liveView = findViewById(R.id.liveview);
+ e.printStackTrace();
}
- liveView.setOnTouchListener(listener);
- messageDrawer = liveView.getMessageDrawer();
- messageDrawer.setLevelGauge(coordinator.getLevelGauge());
}
/**
*/
private void setupInitialButtonIcons()
{
- if (coordinator != null)
+ try
{
- int resId;
- SharedPreferences preferences = android.support.v7.preference.PreferenceManager.getDefaultSharedPreferences(this);
- if (preferences.getBoolean(IPreferenceCameraPropertyAccessor.SHOW_GRID_STATUS, true))
+ if (coordinator != null)
{
- // ボタンをGrid OFFアイコンにする
- resId = R.drawable.btn_ic_grid_off;
- }
- else
- {
- // ボタンをGrid ONアイコンにする
- resId = R.drawable.btn_ic_grid_on;
+ int resId;
+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
+ if (preferences.getBoolean(IPreferenceCameraPropertyAccessor.SHOW_GRID_STATUS, true)) {
+ // ボタンをGrid OFFアイコンにする
+ resId = R.drawable.btn_ic_grid_off;
+ } else {
+ // ボタンをGrid ONアイコンにする
+ resId = R.drawable.btn_ic_grid_on;
+ }
+ setButtonDrawable(IShowInformation.BUTTON_1, resId);
}
- setButtonDrawable(IShowInformation.BUTTON_1, resId);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
}
}
*/
private void setupCameraCoordinator()
{
- if (liveView == null)
+ try
+ {
+ if (liveView == null) {
+ liveView = findViewById(R.id.liveview);
+ }
+ coordinator = null;
+ coordinator = new OlyCameraCoordinator(this, liveView, this, this);
+ coordinator.setLiveViewListener(new CameraLiveViewListenerImpl(liveView));
+ listener = new OlyCameraLiveViewOnTouchListener(this, new FeatureDispatcher(this, coordinator, liveView), this);
+ selectionDialog = new FavoriteSettingSelectionDialog(this, coordinator.getCameraPropertyLoadSaveOperations(), this);
+ connectToCamera();
+ }
+ catch (Exception e)
{
- liveView = findViewById(R.id.liveview);
+ e.printStackTrace();
}
- coordinator = null;
- coordinator = new OlyCameraCoordinator(this, liveView, this, this);
- coordinator.setLiveViewListener(new CameraLiveViewListenerImpl(liveView));
- listener = new OlyCameraLiveViewOnTouchListener(this, new FeatureDispatcher(this, coordinator, liveView), this);
- selectionDialog = new FavoriteSettingSelectionDialog(this, coordinator.getCameraPropertyLoadSaveOperations(), this);
- connectToCamera();
}
/**
@Override
public void exitApplication()
{
- Log.v(TAG, "exitApplication()");
- if (ambientMode)
+ try
{
- // アンビエントモードの時(≒自分でアプリを終了しなかったとき)は、何もしない
- // (接続したままとする)
- Log.v(TAG, "keep liveview.");
- return;
- }
+ Log.v(TAG, "exitApplication()");
+/*
+ if (ambientMode)
+ {
+ // アンビエントモードの時(≒自分でアプリを終了しなかったとき)は、何もしない
+ // (接続したままとする)
+ Log.v(TAG, "keep liveview.");
+ return;
+ }
+*/
- // パワーマネージャを確認し、interactive modeではない場合は、ライブビューも止めず、カメラの電源も切らない
- if ((powerManager != null)&&(!powerManager.isInteractive()))
- {
- Log.v(TAG, "not interactive, keep liveview.");
- return;
- }
+ // パワーマネージャを確認し、interactive modeではない場合は、ライブビューも止めず、カメラの電源も切らない
+ if ((powerManager != null) && (!powerManager.isInteractive()))
+ {
+ Log.v(TAG, "not interactive, keep liveview.");
+ return;
+ }
- // ライブビューを停止させる
- coordinator.stopLiveView();
+ // ライブビューを停止させる
+ coordinator.stopLiveView();
- // パラメータを確認し、カメラの電源を切る
- if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean(IPreferenceCameraPropertyAccessor.EXIT_APPLICATION_WITH_DISCONNECT, true))
- {
- Log.v(TAG, "Shutdown camera...");
+ // パラメータを確認し、カメラの電源を切る
+ if (PreferenceManager.getDefaultSharedPreferences(this).getBoolean(IPreferenceCameraPropertyAccessor.EXIT_APPLICATION_WITH_DISCONNECT, true))
+ {
+ Log.v(TAG, "Shutdown camera...");
- // カメラの電源をOFFにする
- coordinator.getConnectionInterface().disconnect(true);
+ // カメラの電源をOFFにする
+ coordinator.getConnectionInterface().disconnect(true);
+ }
+ //finish();
+ //finishAndRemoveTask();
+ //android.os.Process.killProcess(android.os.Process.myPid());
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
}
- //finish();
- //finishAndRemoveTask();
- //android.os.Process.killProcess(android.os.Process.myPid());
}
/**
@Override
public boolean showConnectionStatus()
{
- if ((listener.isEnabledOperation() == IShowInformation.operation.ONLY_CONNECT)&&(cameraDisconnectedHappened))
+ try
{
- // カメラが切断されたとき、再接続を指示する
- connectToCamera();
- cameraDisconnectedHappened = false;
- return (true);
+ if ((listener.isEnabledOperation() == IShowInformation.operation.ONLY_CONNECT) && (cameraDisconnectedHappened)) {
+ // カメラが切断されたとき、再接続を指示する
+ connectToCamera();
+ cameraDisconnectedHappened = false;
+ return (true);
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
}
return (false);
}
public void onCameraConnected()
{
Log.v(TAG, "onCameraConnected()");
-
- // ライブビューの開始 & タッチ/ボタンの操作を可能にする
- coordinator.startLiveView();
- coordinator.setRecViewMode(false);
- listener.setEnableOperation(operation.ENABLE);
- setMessage(IShowInformation.AREA_C, Color.WHITE, "");
- coordinator.updateStatusAll();
+ try
+ {
+ // ライブビューの開始 & タッチ/ボタンの操作を可能にする
+ coordinator.startLiveView();
+ coordinator.setRecViewMode(false);
+ listener.setEnableOperation(operation.ENABLE);
+ setMessage(IShowInformation.AREA_C, Color.WHITE, "");
+ coordinator.updateStatusAll();
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
}
/**
public void onCameraDisconnected()
{
Log.v(TAG, "onCameraDisconnected()");
- setMessage(IShowInformation.AREA_C, Color.YELLOW, getString(R.string.camera_disconnected));
- listener.setEnableOperation(operation.ONLY_CONNECT);
- cameraDisconnectedHappened = true;
+ try
+ {
+ setMessage(IShowInformation.AREA_C, Color.YELLOW, getString(R.string.camera_disconnected));
+ listener.setEnableOperation(operation.ONLY_CONNECT);
+ cameraDisconnectedHappened = true;
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
}
/**
public void onCameraOccursException(String message, Exception e)
{
Log.v(TAG, "onCameraOccursException()");
- setMessage(IShowInformation.AREA_C, Color.YELLOW, message);
- listener.setEnableOperation(operation.ONLY_CONNECT);
- cameraDisconnectedHappened = true;
+ try
+ {
+ setMessage(IShowInformation.AREA_C, Color.YELLOW, message);
+ listener.setEnableOperation(operation.ONLY_CONNECT);
+ cameraDisconnectedHappened = true;
+ }
+ catch (Exception ee)
+ {
+ e.printStackTrace();
+ ee.printStackTrace();
+ }
}
/**s
@Override
public void run()
{
- final ImageButton button = findViewById(areaId);
- if (button != null)
+ try
{
- button.setImageDrawable(getDrawable(labelId));
- button.invalidate();
+ final ImageButton button = findViewById(areaId);
+ final Drawable drawTarget = ContextCompat.getDrawable(getApplicationContext(), labelId);
+ if (button != null)
+ {
+ button.setImageDrawable(drawTarget);
+ button.invalidate();
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
}
}
});
@Override
public void dialogDismissed(boolean isExecuted)
{
- if ((liveView != null)&&(listener != null))
+ try
{
- liveView.hideDialog();
- listener.setEnableOperation(operation.ENABLE);
+ if ((liveView != null) && (listener != null))
+ {
+ liveView.hideDialog();
+ listener.setEnableOperation(operation.ENABLE);
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
}
}
}
import android.graphics.PointF;
import android.graphics.Rect;
import android.graphics.RectF;
-import android.media.ExifInterface;
+import androidx.exifinterface.media.ExifInterface;
import android.os.Looper;
import android.preference.PreferenceManager;
import android.util.AttributeSet;
// Acquire a rotation degree of image.
int orientation = ExifInterface.ORIENTATION_UNDEFINED;
- if (metadata.containsKey(EXIF_ORIENTATION))
+ try
{
- orientation = Integer.parseInt((String) metadata.get(EXIF_ORIENTATION));
+ if (metadata.containsKey(EXIF_ORIENTATION))
+ {
+ orientation = Integer.parseInt((String) metadata.get(EXIF_ORIENTATION));
+ }
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
}
switch (orientation)
{
public void setShowGridFrame(boolean isShowGridFeature)
{
showGridFeature = isShowGridFeature;
- SharedPreferences preferences = android.support.v7.preference.PreferenceManager.getDefaultSharedPreferences(getContext());
+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getContext());
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean(IPreferenceCameraPropertyAccessor.SHOW_GRID_STATUS, showGridFeature);
editor.apply();
{
Log.v(TAG, "setShowLevelGauge : " + isShowLevelGaugeFeature);
showLevelGaugeFeature = isShowLevelGaugeFeature;
- SharedPreferences preferences = android.support.v7.preference.PreferenceManager.getDefaultSharedPreferences(getContext());
+ SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(getContext());
SharedPreferences.Editor editor = preferences.edit();
editor.putBoolean(IPreferenceCameraPropertyAccessor.SHOW_LEVEL_GAUGE_STATUS, showLevelGaugeFeature);
editor.apply();
import android.content.Context;
import android.content.SharedPreferences;
-import android.support.v7.preference.PreferenceManager;
+
+import androidx.preference.PreferenceManager;
import jp.sfjp.gokigen.a01c.IShowInformation;
import jp.sfjp.gokigen.a01c.olycamerawrapper.dispatcher.ICameraFeatureDispatcher;
import android.content.Context;
import android.content.SharedPreferences;
-import android.support.v7.preference.PreferenceManager;
+
+import androidx.preference.PreferenceManager;
import jp.sfjp.gokigen.a01c.IShowInformation;
import jp.sfjp.gokigen.a01c.olycamerawrapper.dispatcher.ICameraFeatureDispatcher;
import android.content.Context;
import android.content.SharedPreferences;
-import android.support.v7.preference.PreferenceManager;
+
+import androidx.preference.PreferenceManager;
import jp.sfjp.gokigen.a01c.IShowInformation;
import jp.sfjp.gokigen.a01c.olycamerawrapper.dispatcher.ICameraFeatureDispatcher;
import android.content.Context;
import android.content.SharedPreferences;
-import android.support.v7.preference.PreferenceManager;
+
+import androidx.preference.PreferenceManager;
import jp.sfjp.gokigen.a01c.IShowInformation;
import jp.sfjp.gokigen.a01c.olycamerawrapper.dispatcher.ICameraFeatureDispatcher;
import android.content.Context;
import android.content.SharedPreferences;
-import android.support.v7.preference.PreferenceManager;
+
+import androidx.preference.PreferenceManager;
import jp.sfjp.gokigen.a01c.IShowInformation;
import jp.sfjp.gokigen.a01c.olycamerawrapper.dispatcher.ICameraFeatureDispatcher;
import android.content.Context;
import android.content.SharedPreferences;
-import android.support.v7.preference.PreferenceManager;
+
+import androidx.preference.PreferenceManager;
import jp.sfjp.gokigen.a01c.IShowInformation;
import jp.sfjp.gokigen.a01c.olycamerawrapper.dispatcher.ICameraFeatureDispatcher;
import android.content.Context;
import android.content.SharedPreferences;
-import android.support.v7.preference.PreferenceManager;
+
+import androidx.preference.PreferenceManager;
import jp.sfjp.gokigen.a01c.IShowInformation;
import jp.sfjp.gokigen.a01c.olycamerawrapper.dispatcher.ICameraFeatureDispatcher;
import android.content.Context;
import android.content.SharedPreferences;
-import android.support.v7.preference.PreferenceManager;
+
+import androidx.preference.PreferenceManager;
import jp.sfjp.gokigen.a01c.IShowInformation;
import jp.sfjp.gokigen.a01c.olycamerawrapper.dispatcher.ICameraFeatureDispatcher;
import android.content.Context;
import android.content.SharedPreferences;
-import android.support.v7.preference.PreferenceManager;
+
+import androidx.preference.PreferenceManager;
import jp.sfjp.gokigen.a01c.IShowInformation;
import jp.sfjp.gokigen.a01c.olycamerawrapper.dispatcher.ICameraFeatureDispatcher;
import android.content.Context;
import android.content.SharedPreferences;
-import android.support.v7.preference.PreferenceManager;
+
+import androidx.preference.PreferenceManager;
import jp.sfjp.gokigen.a01c.IShowInformation;
import jp.sfjp.gokigen.a01c.olycamerawrapper.dispatcher.ICameraFeatureDispatcher;
import android.content.Context;
import android.content.SharedPreferences;
-import android.support.v7.preference.PreferenceManager;
+
+import androidx.preference.PreferenceManager;
import jp.sfjp.gokigen.a01c.IShowInformation;
import jp.sfjp.gokigen.a01c.olycamerawrapper.dispatcher.ICameraFeatureDispatcher;
import jp.co.olympus.camerakit.OLYCameraLiveViewListener;
import jp.co.olympus.camerakit.OLYCameraStatusListener;
+import jp.sfjp.gokigen.a01c.ICameraConnection;
import jp.sfjp.gokigen.a01c.olycamerawrapper.property.ILoadSaveCameraProperties;
import jp.sfjp.gokigen.a01c.olycamerawrapper.property.IOlyCameraPropertyProvider;
import jp.sfjp.gokigen.a01c.olycamerawrapper.property.ICameraPropertyLoadSaveOperations;
// カメラの動作モード変更インタフェース
ICameraRunMode getChangeRunModeExecutor();
- IOlyCameraConnection getConnectionInterface();
+ ICameraConnection getConnectionInterface();
/** ズームレンズの状態ホルダを応答 **/
IZoomLensHolder getZoomLensHolder();
import android.os.Message;
import android.util.Log;
+import androidx.annotation.NonNull;
+
import java.util.concurrent.Executor;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
import jp.co.olympus.camerakit.OLYCamera;
import jp.co.olympus.camerakit.OLYCameraConnectionListener;
import jp.co.olympus.camerakit.OLYCameraKitException;
+import jp.sfjp.gokigen.a01c.ICameraConnection;
import jp.sfjp.gokigen.a01c.R;
import jp.sfjp.gokigen.a01c.liveview.ICameraStatusReceiver;
*
* Created by MRSa on 2017/02/28.
*/
-class OlyCameraConnection implements IOlyCameraConnection, OLYCameraConnectionListener
+class OlyCameraConnection implements ICameraConnection, OLYCameraConnectionListener
{
private final String TAG = toString();
private final Activity context;
private boolean isWatchingWifiStatus = false;
- private ConnectivityManager connectivityManager;
+ private final ConnectivityManager connectivityManager;
private ConnectivityManager.NetworkCallback networkCallback = null;
// Handler for dealing with network connection timeouts.
- private Handler networkConnectionTimeoutHandler;
+ private final Handler networkConnectionTimeoutHandler;
// Message to notify the network request timout handler that too much time has passed.
* (接続の実処理は onReceiveBroadcastOfConnection() で実施)
*/
@Override
- public void startWatchWifiStatus(Context context)
+ public void startWatchWifiStatus(@NonNull Context context)
{
Log.v(TAG, "startWatchWifiStatus()");
statusReceiver.onStatusNotify("prepare");
* Wifi接続状態の監視終了
*/
@Override
- public void stopWatchWifiStatus(Context context)
+ public void stopWatchWifiStatus(@NonNull Context context)
{
Log.v(TAG, "stopWatchWifiStatus()");
context.unregisterReceiver(connectionReceiver);
import android.view.MotionEvent;
import android.widget.Toast;
+import androidx.preference.PreferenceManager;
+
import jp.co.olympus.camerakit.OLYCamera;
import jp.co.olympus.camerakit.OLYCameraLiveViewListener;
import jp.co.olympus.camerakit.OLYCameraStatusListener;
+import jp.sfjp.gokigen.a01c.ICameraConnection;
import jp.sfjp.gokigen.a01c.IShowInformation;
import jp.sfjp.gokigen.a01c.R;
import jp.sfjp.gokigen.a01c.liveview.IAutoFocusFrameDisplay;
bracketingShot = new BracketingShotControl(camera, focusFrameDisplay, this, showInformation); // ブラケッティング&インターバル撮影
propertyProxy = new OlyCameraPropertyProxy(camera); // カメラプロパティ
cameraStatusDisplay = new CameraStatusDisplay(propertyProxy, showInformation); // 画面表示
- this.levelMeter = new LevelMeterHolder(showInformation, android.support.v7.preference.PreferenceManager.getDefaultSharedPreferences(context).getBoolean(IPreferenceCameraPropertyAccessor.SHOW_LEVEL_GAUGE_STATUS, false)); // デジタル水準器
+ this.levelMeter = new LevelMeterHolder(showInformation, PreferenceManager.getDefaultSharedPreferences(context).getBoolean(IPreferenceCameraPropertyAccessor.SHOW_LEVEL_GAUGE_STATUS, false)); // デジタル水準器
camera.setCameraStatusListener(new CameraStatusListenerImpl(context, cameraStatusDisplay, levelMeter));
camera.setCameraPropertyListener(new CameraPropertyListenerImpl(cameraStatusDisplay));
camera.setRecordingListener(new CameraRecordingListenerImpl(context, showInformation));
}
@Override
- public IOlyCameraConnection getConnectionInterface()
+ public ICameraConnection getConnectionInterface()
{
return (cameraConnection);
}
import android.content.Context;
import android.content.SharedPreferences;
-import android.preference.PreferenceManager;
import android.util.Log;
+import androidx.preference.PreferenceManager;
+
import java.text.DateFormat;
import java.util.Date;
-//import java.util.HashMap;
import java.util.Map;
import java.util.Set;
package jp.sfjp.gokigen.a01c.olycamerawrapper.property.favorite;
+
import android.content.SharedPreferences;
import android.os.Bundle;
-import android.preference.PreferenceManager;
-import android.support.v4.app.ListFragment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
+import androidx.fragment.app.ListFragment;
+import androidx.preference.PreferenceManager;
+
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
package jp.sfjp.gokigen.a01c.olycamerawrapper.property.favorite;
import android.os.Bundle;
-import android.support.v4.app.DialogFragment;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentTabHost;
-import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TabHost;
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentTabHost;
+import androidx.viewpager.widget.ViewPager;
+
import jp.sfjp.gokigen.a01c.R;
import jp.sfjp.gokigen.a01c.olycamerawrapper.property.ICameraPropertyLoadSaveOperations;
package jp.sfjp.gokigen.a01c.olycamerawrapper.property.favorite;
-import android.support.v4.app.Fragment;
-import android.support.v4.app.FragmentManager;
-import android.support.v4.app.FragmentPagerAdapter;
+
import android.util.Log;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentPagerAdapter;
+
class LoadSaveMyCameraPropertyPagerAdapter extends FragmentPagerAdapter
{
private final String TAG = toString();
import android.content.SharedPreferences;
import android.os.Bundle;
-import android.preference.PreferenceManager;
-import android.support.v4.app.ListFragment;
+
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
+import androidx.fragment.app.ListFragment;
+import androidx.preference.PreferenceManager;
+
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
android:layout_width="match_parent"
android:orientation="vertical"
>
- <android.support.v4.app.FragmentTabHost
+ <androidx.fragment.app.FragmentTabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabHost01"
android:layout_width="match_parent"
- android:layout_height="wrap_content">
- </android.support.v4.app.FragmentTabHost>
+ android:layout_height="wrap_content"/>
- <android.support.v4.view.ViewPager
+ <androidx.fragment.app.FragmentTabHost
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
<?xml version="1.0" encoding="utf-8"?>
-<android.support.wearable.view.BoxInsetLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
+<androidx.wear.widget.BoxInsetLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/box_inset_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
+ android:background="@color/black"
tools:context="jp.sfjp.gokigen.a01c.MainActivity"
tools:deviceIds="wear_round">
+
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="1dp"
+ app:layout_boxedEdges="all"
app:layout_box="all">
<jp.sfjp.gokigen.a01c.liveview.CameraLiveImageView
</LinearLayout>
</FrameLayout>
-</android.support.wearable.view.BoxInsetLayout>
+</androidx.wear.widget.BoxInsetLayout>
android:layout_width="match_parent"
android:orientation="vertical"
>
- <android.support.v4.app.FragmentTabHost
+ <androidx.fragment.app.FragmentTabHost
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabHost01"
android:layout_width="match_parent"
- android:layout_height="wrap_content">
- </android.support.v4.app.FragmentTabHost>
+ android:layout_height="wrap_content"/>
- <android.support.v4.view.ViewPager
+ <androidx.fragment.app.FragmentTabHost
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent"
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+</resources>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+</resources>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+</resources>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+</resources>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <color name="colorPrimary">#6200EE</color>
+ <color name="colorPrimaryDark">#3700B3</color>
+ <color name="colorAccent">#03DAC5</color>
+</resources>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!--
+ Because the window insets on round devices are larger than 15dp, this padding only applies
+ to square screens.
+ -->
+ <dimen name="box_inset_layout_padding">0dp</dimen>
+
+ <!--
+ This padding applies to both square and round screens. The total padding between the buttons
+ and the window insets is box_inset_layout_padding (above variable) on square screens and
+ inner_frame_layout_padding (below variable) on round screens.
+ -->
+ <dimen name="inner_frame_layout_padding">0dp</dimen>
+ <dimen name="icon_list_padding">0dp</dimen>
+ <dimen name="header_start_padding">0dp</dimen>
+ <dimen name="header_end_padding">0dp</dimen>
+ <dimen name="header_top_padding">0dp</dimen>
+ <dimen name="header_bottom_padding">0dp</dimen>
+
+ <dimen name="list_start_padding">0dp</dimen>
+ <dimen name="list_end_padding">0dp</dimen>
+ <dimen name="list_top_padding">0dp</dimen>
+ <dimen name="list_bottom_padding">0dp</dimen>
+</resources>
--- /dev/null
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+ <!-- Base application theme. -->
+ <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
+ <!-- Customize your theme here. -->
+ <item name="colorPrimary">@color/colorPrimary</item>
+ <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
+ <item name="colorAccent">@color/colorAccent</item>
+ </style>
+ <style name="wear2_dialog_theme" parent="android:Theme.Holo.Dialog" />
+</resources>