This commit is contained in:
wheremyfoodat 2023-12-29 18:05:57 +02:00
parent 9971250009
commit a974cf5342
3 changed files with 18 additions and 20 deletions

View file

@ -53,9 +53,7 @@ void Pandroid::onSmdhLoaded(const std::vector<u8>& smdh) {
extern "C" {
AlberFunction(void, Setup)(JNIEnv* env, jobject obj) { env->GetJavaVM(&jvm); }
AlberFunction(void, Pause)(JNIEnv* env, jobject obj) { emulator->pause(); }
AlberFunction(void, Resume)(JNIEnv* env, jobject obj) { emulator->resume(); }
AlberFunction(void, Initialize)(JNIEnv* env, jobject obj) {

View file

@ -24,8 +24,8 @@ import com.panda3ds.pandroid.view.PandaLayoutController;
public class GameActivity extends BaseActivity {
private final DrawerFragment drawerFragment = new DrawerFragment();
private final AlberInputListener inputListener = new AlberInputListener(()->{
if (drawerFragment.isOpened()){
private final AlberInputListener inputListener = new AlberInputListener(() -> {
if (drawerFragment.isOpened()) {
drawerFragment.close();
} else {
drawerFragment.open();
@ -77,6 +77,7 @@ public class GameActivity extends BaseActivity {
@Override
protected void onPause() {
super.onPause();
InputHandler.reset();
drawerFragment.open();
}

View file

@ -55,19 +55,25 @@ public class DrawerFragment extends Fragment implements DrawerLayout.DrawerListe
super.onDetach();
}
private void refreshLayout(){
private void refreshLayout() {
drawerContainer.measure(View.MeasureSpec.EXACTLY, View.MeasureSpec.EXACTLY);
drawerContainer.requestLayout();
drawerContainer.invalidate();
drawerContainer.forceLayout();
}
public void open(){
if (drawerContainer.isOpen())
return;
drawerContainer.setVisibility(View.VISIBLE);
drawerContainer.open();
drawerContainer.postDelayed(this::refreshLayout, 20);
public void open() {
if (!drawerContainer.isOpen()) {
drawerContainer.setVisibility(View.VISIBLE);
drawerContainer.open();
drawerContainer.postDelayed(this::refreshLayout, 20);
}
}
public void close() {
if (drawerContainer.isOpen()) {
drawerContainer.close();
}
}
@Override
@ -90,9 +96,9 @@ public class DrawerFragment extends Fragment implements DrawerLayout.DrawerListe
@Override
public boolean onNavigationItemSelected(@NonNull MenuItem item) {
int id = item.getItemId();
if (id == R.id.resume){
if (id == R.id.resume) {
close();
} else if (id == R.id.exit){
} else if (id == R.id.exit) {
requireActivity().onBackPressed();
}
@ -102,11 +108,4 @@ public class DrawerFragment extends Fragment implements DrawerLayout.DrawerListe
public boolean isOpened() {
return drawerContainer.isOpen();
}
public void close() {
if (!drawerContainer.isOpen()){
return;
}
drawerContainer.close();
}
}