Merge pull request #6140 from hackbar/cleanup2
Android: minor UI changes
This commit is contained in:
commit
ad8d885c1d
|
@ -8,7 +8,6 @@ import android.content.SharedPreferences;
|
|||
import android.hardware.usb.UsbManager;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.annotation.IntDef;
|
||||
import android.support.v4.app.ActivityOptionsCompat;
|
||||
|
@ -63,24 +62,10 @@ public final class EmulationActivity extends AppCompatActivity
|
|||
private int mPosition;
|
||||
|
||||
private boolean mDeviceHasTouchScreen;
|
||||
private boolean mSystemUiVisible;
|
||||
private boolean mMenuVisible;
|
||||
|
||||
private static boolean sIsGameCubeGame;
|
||||
|
||||
/**
|
||||
* Handlers are a way to pass a message to an Activity telling it to do something
|
||||
* on the UI thread. This Handler responds to any message, even blank ones, by
|
||||
* hiding the system UI.
|
||||
*/
|
||||
private Handler mSystemUiHider = new Handler()
|
||||
{
|
||||
@Override
|
||||
public void handleMessage(Message msg)
|
||||
{
|
||||
hideSystemUI();
|
||||
}
|
||||
};
|
||||
private String mScreenPath;
|
||||
private String mSelectedTitle;
|
||||
|
||||
|
@ -187,32 +172,28 @@ public final class EmulationActivity extends AppCompatActivity
|
|||
|
||||
// Get a handle to the Window containing the UI.
|
||||
mDecorView = getWindow().getDecorView();
|
||||
|
||||
// Set these options now so that the SurfaceView the game renders into is the right size.
|
||||
mDecorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
|
||||
|
||||
// Set the ActionBar to follow the navigation/status bar's visibility changes.
|
||||
mDecorView.setOnSystemUiVisibilityChangeListener(
|
||||
new View.OnSystemUiVisibilityChangeListener()
|
||||
mDecorView.setOnSystemUiVisibilityChangeListener
|
||||
(new View.OnSystemUiVisibilityChangeListener() {
|
||||
@Override
|
||||
public void onSystemUiVisibilityChange(int visibility) {
|
||||
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0)
|
||||
{
|
||||
// Go back to immersive fullscreen mode in 3s
|
||||
Handler handler = new Handler(getMainLooper());
|
||||
handler.postDelayed(new Runnable()
|
||||
{
|
||||
@Override
|
||||
public void onSystemUiVisibilityChange(int flags)
|
||||
public void run()
|
||||
{
|
||||
mSystemUiVisible = (flags & View.SYSTEM_UI_FLAG_HIDE_NAVIGATION) == 0;
|
||||
|
||||
if (mSystemUiVisible)
|
||||
{
|
||||
getSupportActionBar().show();
|
||||
hideSystemUiAfterDelay();
|
||||
enableFullscreenImmersive();
|
||||
}
|
||||
else
|
||||
{
|
||||
getSupportActionBar().hide();
|
||||
},
|
||||
3000 /* 3s */);
|
||||
}
|
||||
}
|
||||
});
|
||||
// Set these options now so that the SurfaceView the game renders into is the right size.
|
||||
enableFullscreenImmersive();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -290,38 +271,6 @@ public final class EmulationActivity extends AppCompatActivity
|
|||
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostCreate(Bundle savedInstanceState)
|
||||
{
|
||||
super.onPostCreate(savedInstanceState);
|
||||
|
||||
if (mDeviceHasTouchScreen)
|
||||
{
|
||||
// Give the user a few seconds to see what the controls look like, then hide them.
|
||||
hideSystemUiAfterDelay();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onWindowFocusChanged(boolean hasFocus)
|
||||
{
|
||||
super.onWindowFocusChanged(hasFocus);
|
||||
|
||||
if (mDeviceHasTouchScreen)
|
||||
{
|
||||
if (hasFocus)
|
||||
{
|
||||
hideSystemUiAfterDelay();
|
||||
}
|
||||
else
|
||||
{
|
||||
// If the window loses focus (i.e. a dialog box, or a popup menu is on screen
|
||||
// stop hiding the UI.
|
||||
mSystemUiHider.removeMessages(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBackPressed()
|
||||
{
|
||||
|
@ -342,6 +291,18 @@ public final class EmulationActivity extends AppCompatActivity
|
|||
|
||||
}
|
||||
|
||||
private void enableFullscreenImmersive()
|
||||
{
|
||||
// It would be nice to use IMMERSIVE_STICKY, but that doesn't show the toolbar.
|
||||
mDecorView.setSystemUiVisibility(
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
|
||||
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
|
||||
View.SYSTEM_UI_FLAG_FULLSCREEN |
|
||||
View.SYSTEM_UI_FLAG_IMMERSIVE);
|
||||
}
|
||||
|
||||
private void toggleMenu()
|
||||
{
|
||||
boolean result = getSupportFragmentManager().popBackStackImmediate(
|
||||
|
@ -774,38 +735,6 @@ public final class EmulationActivity extends AppCompatActivity
|
|||
return true;
|
||||
}
|
||||
|
||||
private void hideSystemUiAfterDelay()
|
||||
{
|
||||
// Clear any pending hide events.
|
||||
mSystemUiHider.removeMessages(0);
|
||||
|
||||
// Add a new hide event, to occur 3 seconds from now.
|
||||
mSystemUiHider.sendEmptyMessageDelayed(0, 3000);
|
||||
}
|
||||
|
||||
private void hideSystemUI()
|
||||
{
|
||||
mSystemUiVisible = false;
|
||||
|
||||
mDecorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |
|
||||
View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |
|
||||
View.SYSTEM_UI_FLAG_FULLSCREEN |
|
||||
View.SYSTEM_UI_FLAG_IMMERSIVE);
|
||||
}
|
||||
|
||||
private void showSystemUI()
|
||||
{
|
||||
mSystemUiVisible = true;
|
||||
|
||||
mDecorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
|
||||
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
|
||||
|
||||
hideSystemUiAfterDelay();
|
||||
}
|
||||
|
||||
private void showSubMenu(SaveLoadStateFragment.SaveOrLoad saveOrLoad)
|
||||
{
|
||||
// Get rid of any visible submenu
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
android:id="@+id/image_game_screen"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:transitionName="image_game_screenshot"
|
||||
android:layout_weight="1"
|
||||
tools:src="@drawable/placeholder_screenshot"
|
||||
tools:scaleType="centerCrop"/>
|
||||
|
|
Loading…
Reference in New Issue