Merge pull request #8978 from Ebola16/RS

Android: Settings and Emulation activities skip (Tv)MainActivity library rescan
This commit is contained in:
JosJuice 2020-08-02 22:05:38 +02:00 committed by GitHub
commit e33876fbe2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 2 deletions

View File

@ -43,6 +43,7 @@ import org.dolphinemu.dolphinemu.services.GameFileCacheService;
import org.dolphinemu.dolphinemu.overlay.InputOverlay; import org.dolphinemu.dolphinemu.overlay.InputOverlay;
import org.dolphinemu.dolphinemu.overlay.InputOverlayPointer; import org.dolphinemu.dolphinemu.overlay.InputOverlayPointer;
import org.dolphinemu.dolphinemu.ui.main.MainActivity; import org.dolphinemu.dolphinemu.ui.main.MainActivity;
import org.dolphinemu.dolphinemu.ui.main.TvMainActivity;
import org.dolphinemu.dolphinemu.ui.platform.Platform; import org.dolphinemu.dolphinemu.ui.platform.Platform;
import org.dolphinemu.dolphinemu.utils.ControllerMappingHelper; import org.dolphinemu.dolphinemu.utils.ControllerMappingHelper;
import org.dolphinemu.dolphinemu.utils.FileBrowserHelper; import org.dolphinemu.dolphinemu.utils.FileBrowserHelper;
@ -278,6 +279,15 @@ public final class EmulationActivity extends AppCompatActivity
{ {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (TvUtil.isLeanback(getApplicationContext()))
{
TvMainActivity.skipRescanningLibrary();
}
else
{
MainActivity.skipRescanningLibrary();
}
if (savedInstanceState == null) if (savedInstanceState == null)
{ {
// Get params we were passed // Get params we were passed

View File

@ -20,9 +20,11 @@ import android.widget.Toast;
import org.dolphinemu.dolphinemu.R; import org.dolphinemu.dolphinemu.R;
import org.dolphinemu.dolphinemu.ui.main.MainActivity; import org.dolphinemu.dolphinemu.ui.main.MainActivity;
import org.dolphinemu.dolphinemu.ui.main.TvMainActivity;
import org.dolphinemu.dolphinemu.utils.DirectoryInitialization; import org.dolphinemu.dolphinemu.utils.DirectoryInitialization;
import org.dolphinemu.dolphinemu.utils.DirectoryStateReceiver; import org.dolphinemu.dolphinemu.utils.DirectoryStateReceiver;
import org.dolphinemu.dolphinemu.utils.FileBrowserHelper; import org.dolphinemu.dolphinemu.utils.FileBrowserHelper;
import org.dolphinemu.dolphinemu.utils.TvUtil;
public final class SettingsActivity extends AppCompatActivity implements SettingsActivityView public final class SettingsActivity extends AppCompatActivity implements SettingsActivityView
{ {
@ -46,6 +48,15 @@ public final class SettingsActivity extends AppCompatActivity implements Setting
{ {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
if (TvUtil.isLeanback(getApplicationContext()))
{
TvMainActivity.skipRescanningLibrary();
}
else
{
MainActivity.skipRescanningLibrary();
}
setContentView(R.layout.activity_settings); setContentView(R.layout.activity_settings);
Intent launcher = getIntent(); Intent launcher = getIntent();

View File

@ -46,6 +46,7 @@ public final class MainActivity extends AppCompatActivity implements MainView
private Toolbar mToolbar; private Toolbar mToolbar;
private TabLayout mTabLayout; private TabLayout mTabLayout;
private FloatingActionButton mFab; private FloatingActionButton mFab;
private static boolean sShouldRescanLibrary = true;
private MainPresenter mPresenter = new MainPresenter(this, this); private MainPresenter mPresenter = new MainPresenter(this, this);
@ -80,8 +81,15 @@ public final class MainActivity extends AppCompatActivity implements MainView
{ {
super.onResume(); super.onResume();
mPresenter.addDirIfNeeded(this); mPresenter.addDirIfNeeded(this);
if (sShouldRescanLibrary)
{
GameFileCacheService.startRescan(this); GameFileCacheService.startRescan(this);
} }
else
{
sShouldRescanLibrary = true;
}
}
@Override @Override
protected void onDestroy() protected void onDestroy()
@ -284,4 +292,9 @@ public final class MainActivity extends AppCompatActivity implements MainView
showGames(); showGames();
GameFileCacheService.startLoad(this); GameFileCacheService.startLoad(this);
} }
public static void skipRescanningLibrary()
{
sShouldRescanLibrary = false;
}
} }

View File

@ -37,6 +37,8 @@ import java.util.Collection;
public final class TvMainActivity extends FragmentActivity implements MainView public final class TvMainActivity extends FragmentActivity implements MainView
{ {
private static boolean sShouldRescanLibrary = true;
private MainPresenter mPresenter = new MainPresenter(this, this); private MainPresenter mPresenter = new MainPresenter(this, this);
private BrowseSupportFragment mBrowseFragment; private BrowseSupportFragment mBrowseFragment;
@ -65,8 +67,15 @@ public final class TvMainActivity extends FragmentActivity implements MainView
{ {
super.onResume(); super.onResume();
mPresenter.addDirIfNeeded(this); mPresenter.addDirIfNeeded(this);
if (sShouldRescanLibrary)
{
GameFileCacheService.startRescan(this); GameFileCacheService.startRescan(this);
} }
else
{
sShouldRescanLibrary = true;
}
}
@Override @Override
protected void onDestroy() protected void onDestroy()
@ -316,4 +325,9 @@ public final class TvMainActivity extends FragmentActivity implements MainView
return new ListRow(header, rowItems); return new ListRow(header, rowItems);
} }
public static void skipRescanningLibrary()
{
sShouldRescanLibrary = false;
}
} }