Android: Settings and Emulation activities skip (Tv)MainActivity library rescan

This commit is contained in:
Ryan Meredith 2020-07-24 04:04:31 -04:00
parent 92d24aec2e
commit a0ab90f4c6
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.InputOverlayPointer;
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.utils.ControllerMappingHelper;
import org.dolphinemu.dolphinemu.utils.FileBrowserHelper;
@ -266,6 +267,15 @@ public final class EmulationActivity extends AppCompatActivity
{
super.onCreate(savedInstanceState);
if (TvUtil.isLeanback(getApplicationContext()))
{
TvMainActivity.skipRescanningLibrary();
}
else
{
MainActivity.skipRescanningLibrary();
}
if (savedInstanceState == null)
{
// Get params we were passed

View File

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

View File

@ -46,6 +46,7 @@ public final class MainActivity extends AppCompatActivity implements MainView
private Toolbar mToolbar;
private TabLayout mTabLayout;
private FloatingActionButton mFab;
private static boolean sShouldRescanLibrary = true;
private MainPresenter mPresenter = new MainPresenter(this, this);
@ -80,8 +81,15 @@ public final class MainActivity extends AppCompatActivity implements MainView
{
super.onResume();
mPresenter.addDirIfNeeded(this);
if (sShouldRescanLibrary)
{
GameFileCacheService.startRescan(this);
}
else
{
sShouldRescanLibrary = true;
}
}
@Override
protected void onDestroy()
@ -284,4 +292,9 @@ public final class MainActivity extends AppCompatActivity implements MainView
showGames();
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
{
private static boolean sShouldRescanLibrary = true;
private MainPresenter mPresenter = new MainPresenter(this, this);
private BrowseSupportFragment mBrowseFragment;
@ -65,8 +67,15 @@ public final class TvMainActivity extends FragmentActivity implements MainView
{
super.onResume();
mPresenter.addDirIfNeeded(this);
if (sShouldRescanLibrary)
{
GameFileCacheService.startRescan(this);
}
else
{
sShouldRescanLibrary = true;
}
}
@Override
protected void onDestroy()
@ -316,4 +325,9 @@ public final class TvMainActivity extends FragmentActivity implements MainView
return new ListRow(header, rowItems);
}
public static void skipRescanningLibrary()
{
sShouldRescanLibrary = false;
}
}