Skip to content

Commit 3f056f7

Browse files
committed
Android preferences stage II.
1 parent 4aa0cb9 commit 3f056f7

File tree

5 files changed

+179
-56
lines changed

5 files changed

+179
-56
lines changed

Android/app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
<meta-data android:name="SDL_ENV.SDL_ACCELEROMETER_AS_JOYSTICK" android:value="0"/>
6666
-->
6767

68-
<activity android:name="org.artoolkitx.cameracalibration.CameraCalibrationActivity"
68+
<activity android:name="org.artoolkitx.utilities.cameracalibration.CameraCalibrationActivity"
6969
android:label="@string/app_name"
7070
android:alwaysRetainTaskState="true"
7171
android:launchMode="singleInstance"

Android/app/src/main/java/org/artoolkitx/utilities/cameracalibration/CameraCalibrationSettingsFragment.java

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22

33
import android.graphics.Color;
44
import android.os.Bundle;
5+
import android.text.InputType;
56
import android.view.LayoutInflater;
67
import android.view.View;
78
import android.view.ViewGroup;
9+
import android.widget.EditText;
810

911
import androidx.annotation.NonNull;
1012
import androidx.annotation.Nullable;
@@ -24,7 +26,11 @@ public class CameraCalibrationSettingsFragment extends PreferenceFragmentCompat
2426
@SuppressWarnings("ConstantConditions")
2527
public void onCreatePreferences(Bundle savedInstanceState, @Nullable String rootKey) {
2628
setPreferencesFromResource(R.xml.cameracalibrationsettings, rootKey);
29+
2730
final ListPreference camera = (ListPreference)findPreference("camera");
31+
setCameraInputList(camera);
32+
33+
// Toggle fields on or off.
2834
final SwitchPreferenceCompat upload_canonical = (SwitchPreferenceCompat)findPreference("upload_canonical");
2935
final SwitchPreferenceCompat upload_user = (SwitchPreferenceCompat)findPreference("upload_user");
3036
final EditTextPreference upload_user_csuu = (EditTextPreference)findPreference("upload_user_csuu");
@@ -40,7 +46,30 @@ public void onCreatePreferences(Bundle savedInstanceState, @Nullable String root
4046
upload_user_csuu.setVisible(false);
4147
upload_user_csat.setVisible(false);
4248
}
43-
setCameraInputList(camera);
49+
50+
// Set numeric fields.
51+
EditTextPreference camera_width = findPreference("camera_width");
52+
EditTextPreference camera_height = findPreference("camera_height");
53+
EditTextPreference pattern_width = findPreference("pattern_width");
54+
EditTextPreference pattern_height = findPreference("pattern_height");
55+
EditTextPreference pattern_spacing = findPreference("pattern_spacing");
56+
EditTextPreference.OnBindEditTextListener numbersOnly = new EditTextPreference.OnBindEditTextListener() {
57+
@Override
58+
public void onBindEditText(@NonNull EditText editText) {
59+
editText.setInputType(InputType.TYPE_CLASS_NUMBER);
60+
}
61+
};
62+
EditTextPreference.OnBindEditTextListener numbersDecimalOnly = new EditTextPreference.OnBindEditTextListener() {
63+
@Override
64+
public void onBindEditText(@NonNull EditText editText) {
65+
editText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);
66+
}
67+
};
68+
camera_width.setOnBindEditTextListener(numbersOnly);
69+
camera_height.setOnBindEditTextListener(numbersOnly);
70+
pattern_width.setOnBindEditTextListener(numbersOnly);
71+
pattern_height.setOnBindEditTextListener(numbersOnly);
72+
pattern_spacing.setOnBindEditTextListener(numbersDecimalOnly);
4473
}
4574

4675
@NonNull

Android/app/src/main/res/values/strings.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
<item>front</item>
1717
<item>external</item>
1818
</string-array>
19+
<string name="camera_position_default_value">rear</string>
1920
<string-array name="camera_size_strategies">
2021
<item>Any size</item>
2122
<item>Exact size</item>
@@ -38,6 +39,9 @@
3839
<item>largest</item>
3940
<item>smallest</item>
4041
</string-array>
42+
<string name="camera_size_strategy_default_value">closestpixelcount</string>
43+
<string name="camera_width_default_value">640</string>
44+
<string name="camera_height_default_value">480</string>
4145
<string-array name="print_paper_sizes">
4246
<item>A4</item>
4347
<item>US Letter</item>
@@ -46,6 +50,7 @@
4650
<item>a4</item>
4751
<item>usletter</item>
4852
</string-array>
53+
<string name="print_paper_size_default_value">a4</string>
4954
<string-array name="calibration_patterns">
5055
<item>Chessboard</item>
5156
<item>Circles</item>

Android/app/src/main/res/xml/cameracalibrationsettings.xml

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,27 +18,30 @@
1818
app:useSimpleSummaryProvider="true"
1919
android:entries="@array/camera_positions"
2020
android:entryValues="@array/camera_positions_values"
21+
android:defaultValue="@string/camera_position_default_value"
2122
app:isPreferenceVisible="false" />
2223

2324
<ListPreference
2425
app:key="camera_size_strategy"
2526
app:title="Select camera frame size by"
2627
app:useSimpleSummaryProvider="true"
2728
android:entries="@array/camera_size_strategies"
28-
android:entryValues="@array/camera_size_strategies_values" />
29+
android:entryValues="@array/camera_size_strategies_values"
30+
android:defaultValue="@string/camera_size_strategy_default_value" />
2931

3032
<EditTextPreference
3133
app:key="camera_width"
3234
app:title="Width"
3335
app:useSimpleSummaryProvider="true"
34-
android:inputType="number" />
36+
android:inputType="number"
37+
android:defaultValue="@string/camera_width_default_value" />
3538

3639
<EditTextPreference
3740
app:key="camera_height"
3841
app:title="Height"
3942
app:useSimpleSummaryProvider="true"
40-
android:inputType="number" />
41-
43+
android:inputType="number"
44+
android:defaultValue="@string/camera_height_default_value" />
4245

4346
</PreferenceCategory>
4447

@@ -51,7 +54,8 @@
5154
app:title="Paper size"
5255
app:useSimpleSummaryProvider="true"
5356
android:entries="@array/print_paper_sizes"
54-
android:entryValues="@array/print_paper_sizes_values" />
57+
android:entryValues="@array/print_paper_sizes_values"
58+
android:defaultValue="@string/print_paper_size_default_value" />
5559

5660
</PreferenceCategory>
5761

@@ -61,16 +65,19 @@
6165

6266
<SwitchPreferenceCompat
6367
app:key="save"
64-
app:title="Save calibration"/>
68+
app:title="Save calibration"
69+
android:defaultValue="false" />
6570

6671
<SwitchPreferenceCompat
6772
app:key="upload_canonical"
6873
app:title="Upload calibration to artoolkitx.org"
74+
android:defaultValue="true"
6975
app:isPreferenceVisible="false" />
7076

7177
<SwitchPreferenceCompat
7278
app:key="upload_user"
73-
app:title="Upload calibration to artoolkitx.org"
79+
app:title="Upload calibration to my server"
80+
android:defaultValue="false"
7481
app:isPreferenceVisible="false" />
7582

7683
<EditTextPreference

0 commit comments

Comments
 (0)