From bb7f8c67534ee4448d51a1f08cd428dd6a42f5ef Mon Sep 17 00:00:00 2001 From: Eder Bastos Date: Tue, 12 May 2015 19:45:13 -0400 Subject: Move AssetCopyService to the services package. --- .../dolphinemu/dolphinemu/AssetCopyService.java | 115 --------------------- .../dolphinemu/activities/GameGridActivity.java | 2 +- .../dolphinemu/gamelist/GameListActivity.java | 3 +- .../dolphinemu/services/AssetCopyService.java | 115 +++++++++++++++++++++ 4 files changed, 117 insertions(+), 118 deletions(-) delete mode 100644 Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/AssetCopyService.java create mode 100644 Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/AssetCopyService.java (limited to 'Source/Android/app/src/main/java') diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/AssetCopyService.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/AssetCopyService.java deleted file mode 100644 index d39bbec59f..0000000000 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/AssetCopyService.java +++ /dev/null @@ -1,115 +0,0 @@ -/** - * Copyright 2014 Dolphin Emulator Project - * Licensed under GPLv2 - * Refer to the license.txt file included. - */ - -package org.dolphinemu.dolphinemu; - -import android.app.IntentService; -import android.content.Intent; -import android.os.Environment; -import android.util.Log; - -import org.dolphinemu.dolphinemu.settings.UserPreferences; - -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; - -/** - * A service that spawns its own thread in order to copy several binary and shader files - * from the Dolphin APK to the external file system. - */ -public final class AssetCopyService extends IntentService -{ - private static final String TAG = "DolphinEmulator"; - - public AssetCopyService() - { - // Superclass constructor is called to name the thread on which this service executes. - super("AssetCopyService"); - } - - @Override - protected void onHandleIntent(Intent intent) - { - String BaseDir = NativeLibrary.GetUserDirectory(); - String ConfigDir = BaseDir + File.separator + "Config"; - String GCDir = BaseDir + File.separator + "GC"; - - // Copy assets if needed - File file = new File(GCDir + File.separator + "font_sjis.bin"); - if(!file.exists()) - { - NativeLibrary.CreateUserFolders(); - copyAsset("dsp_coef.bin", GCDir + File.separator + "dsp_coef.bin"); - copyAsset("dsp_rom.bin", GCDir + File.separator + "dsp_rom.bin"); - copyAsset("font_ansi.bin", GCDir + File.separator + "font_ansi.bin"); - copyAsset("font_sjis.bin", GCDir + File.separator + "font_sjis.bin"); - copyAssetFolder("Shaders", BaseDir + File.separator + "Shaders"); - } - else - { - Log.v(TAG, "Skipping asset copy operation."); - } - - // Always copy over the GCPad config in case of change or corruption. - // Not a user configurable file. - copyAsset("GCPadNew.ini", ConfigDir + File.separator + "GCPadNew.ini"); - - // Load the configuration keys set in the Dolphin ini and gfx ini files - // into the application's shared preferences. - UserPreferences.LoadIniToPrefs(this); - } - - private void copyAsset(String asset, String output) - { - Log.v(TAG, "Copying " + asset + " to " + output); - InputStream in = null; - OutputStream out = null; - - try - { - in = getAssets().open(asset); - out = new FileOutputStream(output); - copyFile(in, out); - in.close(); - out.close(); - } - catch (IOException e) - { - Log.e(TAG, "Failed to copy asset file: " + asset, e); - } - } - - private void copyAssetFolder(String assetFolder, String outputFolder) - { - Log.v(TAG, "Copying " + assetFolder + " to " + outputFolder); - - try - { - for (String file : getAssets().list(assetFolder)) - { - copyAsset(assetFolder + File.separator + file, outputFolder + File.separator + file); - } - } - catch (IOException e) - { - Log.e(TAG, "Failed to copy asset folder: " + assetFolder, e); - } - } - - private void copyFile(InputStream in, OutputStream out) throws IOException - { - byte[] buffer = new byte[1024]; - int read; - - while ((read = in.read(buffer)) != -1) - { - out.write(buffer, 0, read); - } - } -} diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/GameGridActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/GameGridActivity.java index f4f4519b94..15bbb44fff 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/GameGridActivity.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/GameGridActivity.java @@ -14,12 +14,12 @@ import android.view.View; import android.widget.ImageButton; import android.widget.Toolbar; -import org.dolphinemu.dolphinemu.AssetCopyService; import org.dolphinemu.dolphinemu.NativeLibrary; import org.dolphinemu.dolphinemu.R; import org.dolphinemu.dolphinemu.adapters.GameAdapter; import org.dolphinemu.dolphinemu.model.Game; import org.dolphinemu.dolphinemu.model.GcGame; +import org.dolphinemu.dolphinemu.services.AssetCopyService; import java.io.File; import java.util.ArrayList; diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/gamelist/GameListActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/gamelist/GameListActivity.java index 3accec11de..06b236da82 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/gamelist/GameListActivity.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/gamelist/GameListActivity.java @@ -20,7 +20,6 @@ import android.os.Environment; import android.preference.PreferenceManager; import android.support.v4.app.ActionBarDrawerToggle; import android.support.v4.widget.DrawerLayout; -import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; @@ -28,12 +27,12 @@ import android.view.View; import android.widget.AdapterView; import android.widget.ListView; -import org.dolphinemu.dolphinemu.AssetCopyService; import org.dolphinemu.dolphinemu.NativeLibrary; import org.dolphinemu.dolphinemu.R; import org.dolphinemu.dolphinemu.about.AboutActivity; import org.dolphinemu.dolphinemu.emulation.EmulationActivity; import org.dolphinemu.dolphinemu.folderbrowser.FolderBrowser; +import org.dolphinemu.dolphinemu.services.AssetCopyService; import org.dolphinemu.dolphinemu.settings.PrefsActivity; import org.dolphinemu.dolphinemu.sidemenu.SideMenuAdapter; import org.dolphinemu.dolphinemu.sidemenu.SideMenuItem; diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/AssetCopyService.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/AssetCopyService.java new file mode 100644 index 0000000000..f538e8e251 --- /dev/null +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/AssetCopyService.java @@ -0,0 +1,115 @@ +/** + * Copyright 2014 Dolphin Emulator Project + * Licensed under GPLv2 + * Refer to the license.txt file included. + */ + +package org.dolphinemu.dolphinemu.services; + +import android.app.IntentService; +import android.content.Intent; +import android.util.Log; + +import org.dolphinemu.dolphinemu.NativeLibrary; +import org.dolphinemu.dolphinemu.settings.UserPreferences; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +/** + * A service that spawns its own thread in order to copy several binary and shader files + * from the Dolphin APK to the external file system. + */ +public final class AssetCopyService extends IntentService +{ + private static final String TAG = "DolphinEmulator"; + + public AssetCopyService() + { + // Superclass constructor is called to name the thread on which this service executes. + super("AssetCopyService"); + } + + @Override + protected void onHandleIntent(Intent intent) + { + String BaseDir = NativeLibrary.GetUserDirectory(); + String ConfigDir = BaseDir + File.separator + "Config"; + String GCDir = BaseDir + File.separator + "GC"; + + // Copy assets if needed + File file = new File(GCDir + File.separator + "font_sjis.bin"); + if(!file.exists()) + { + NativeLibrary.CreateUserFolders(); + copyAsset("dsp_coef.bin", GCDir + File.separator + "dsp_coef.bin"); + copyAsset("dsp_rom.bin", GCDir + File.separator + "dsp_rom.bin"); + copyAsset("font_ansi.bin", GCDir + File.separator + "font_ansi.bin"); + copyAsset("font_sjis.bin", GCDir + File.separator + "font_sjis.bin"); + copyAssetFolder("Shaders", BaseDir + File.separator + "Shaders"); + } + else + { + Log.v(TAG, "Skipping asset copy operation."); + } + + // Always copy over the GCPad config in case of change or corruption. + // Not a user configurable file. + copyAsset("GCPadNew.ini", ConfigDir + File.separator + "GCPadNew.ini"); + + // Load the configuration keys set in the Dolphin ini and gfx ini files + // into the application's shared preferences. + UserPreferences.LoadIniToPrefs(this); + } + + private void copyAsset(String asset, String output) + { + Log.v(TAG, "Copying " + asset + " to " + output); + InputStream in = null; + OutputStream out = null; + + try + { + in = getAssets().open(asset); + out = new FileOutputStream(output); + copyFile(in, out); + in.close(); + out.close(); + } + catch (IOException e) + { + Log.e(TAG, "Failed to copy asset file: " + asset, e); + } + } + + private void copyAssetFolder(String assetFolder, String outputFolder) + { + Log.v(TAG, "Copying " + assetFolder + " to " + outputFolder); + + try + { + for (String file : getAssets().list(assetFolder)) + { + copyAsset(assetFolder + File.separator + file, outputFolder + File.separator + file); + } + } + catch (IOException e) + { + Log.e(TAG, "Failed to copy asset folder: " + assetFolder, e); + } + } + + private void copyFile(InputStream in, OutputStream out) throws IOException + { + byte[] buffer = new byte[1024]; + int read; + + while ((read = in.read(buffer)) != -1) + { + out.write(buffer, 0, read); + } + } +} -- cgit v1.2.3