Skip to content

Commit 01db425

Browse files
committed
Wrap settings fragment in activity. Add toolbar to main screen and connect buttons.
1 parent 2d3bbda commit 01db425

21 files changed

+184
-14
lines changed

Android/app/build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,6 @@ dependencies {
5050
implementation "androidx.appcompat:appcompat:$appcompat_version"
5151
def preference_version = "1.2.1"
5252
implementation "androidx.preference:preference:$preference_version"
53-
53+
def constraintlayout_version = "2.1.4"
54+
implementation "androidx.constraintlayout:constraintlayout:$constraintlayout_version"
5455
}

Android/app/src/main/AndroidManifest.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,12 @@
9191
</intent-filter>
9292
-->
9393
</activity>
94+
<activity
95+
android:name="org.artoolkitx.utilities.cameracalibration.CameraCalibrationSettingsActivity"
96+
android:label="@string/settings_activity_name"
97+
android:parentActivityName="org.artoolkitx.utilities.cameracalibration.CameraCalibrationActivity"
98+
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
99+
</activity>
94100
</application>
95101

96102
</manifest>

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import android.view.MenuItem;
99

1010
import androidx.annotation.NonNull;
11-
import androidx.appcompat.app.ActionBar;
1211

1312
import org.libsdl.app.R;
1413
import org.libsdl.app.SDLActivity;
@@ -17,14 +16,18 @@ public class CameraCalibrationActivity extends SDLActivity {
1716
@Override
1817
protected void onCreate(Bundle savedInstanceState) {
1918
super.onCreate(savedInstanceState);
20-
//ViewGroup layout = mLayout;
2119

22-
ActionBar actionBar = getSupportActionBar();
23-
actionBar.setDisplayShowTitleEnabled(false);
24-
actionBar.setHomeAsUpIndicator(android.R.drawable.ic_menu_close_clear_cancel);
25-
actionBar.setDisplayHomeAsUpEnabled(true);
20+
findViewById(R.id.btn_cancel).setOnClickListener(view -> {
21+
CameraCalibrationActivity.handleBackButton();
22+
});
23+
findViewById(R.id.btn_add).setOnClickListener(view -> {
24+
CameraCalibrationActivity.handleAddButton();
25+
});
2626
}
2727

28+
public static native void handleBackButton();
29+
public static native void handleAddButton();
30+
2831
@Override
2932
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
3033
switch (item.getItemId()) {
@@ -37,10 +40,7 @@ public boolean onOptionsItemSelected(@NonNull MenuItem item) {
3740
case R.id.menu_print:
3841
return true;
3942
case R.id.menu_settings:
40-
getSupportFragmentManager().beginTransaction()
41-
.replace(android.R.id.content, new CameraCalibrationSettingsFragment())
42-
.addToBackStack("Settings")
43-
.commit();
43+
startActivity(new Intent(this, CameraCalibrationSettingsActivity.class));
4444
return true;
4545
}
4646
return super.onOptionsItemSelected(item);
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package org.artoolkitx.utilities.cameracalibration;
2+
3+
import android.os.Bundle;
4+
5+
import androidx.appcompat.app.AppCompatActivity;
6+
import androidx.appcompat.widget.Toolbar;
7+
8+
import org.libsdl.app.R;
9+
10+
public class CameraCalibrationSettingsActivity extends AppCompatActivity
11+
{
12+
public void onCreate(Bundle savedInstanceState) {
13+
super.onCreate(savedInstanceState);
14+
15+
setContentView(R.layout.cameracalibrationsettingsactivity);
16+
17+
Toolbar settingsToolbar = (Toolbar) findViewById(R.id.settings_toolbar);
18+
setSupportActionBar(settingsToolbar);
19+
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
20+
getSupportActionBar().setDisplayShowHomeEnabled(true);
21+
22+
getSupportFragmentManager().beginTransaction()
23+
.replace(R.id.settings_content, new CameraCalibrationSettingsFragment())
24+
.commit();
25+
}
26+
}

Android/app/src/main/java/org/libsdl/app/SDLActivity.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
import android.widget.Toast;
5252

5353
import androidx.appcompat.app.AppCompatActivity;
54+
import androidx.appcompat.widget.Toolbar;
5455

5556
import java.util.Hashtable;
5657
import java.util.Locale;
@@ -398,7 +399,9 @@ public void onClick(DialogInterface dialog,int id) {
398399
// Set up the surface
399400
mSurface = createSDLSurface(this);
400401

401-
mLayout = new RelativeLayout(this);
402+
//mLayout = new RelativeLayout(this);
403+
setContentView(R.layout.cameracalibrationactivity);
404+
mLayout = findViewById(R.id.content);
402405
mLayout.addView(mSurface);
403406

404407
// Get our current screen orientation and pass it down.
@@ -415,7 +418,7 @@ public void onClick(DialogInterface dialog,int id) {
415418
} catch(Exception ignored) {
416419
}
417420

418-
setContentView(mLayout);
421+
//setContentView(mLayout);
419422

420423
setWindowStyle(false);
421424

353 Bytes
Loading
262 Bytes
Loading
217 Bytes
Loading
272 Bytes
Loading
185 Bytes
Loading

0 commit comments

Comments
 (0)