Skip to content
This repository was archived by the owner on Mar 5, 2023. It is now read-only.

Commit 0ffddea

Browse files
nullkillerAndrii Danylchenko
authored and
Andrii Danylchenko
committed
remove internal storage
1 parent 7725ad0 commit 0ffddea

13 files changed

+70
-814
lines changed

project/.idea/deploymentTargetDropDown.xml

Lines changed: 0 additions & 17 deletions
This file was deleted.

project/vcmi-app/src/main/AndroidManifest.xml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@
2525
<category android:name="android.intent.category.LAUNCHER" />
2626
</intent-filter>
2727
</activity>
28-
<activity
29-
android:name=".ActivityStorage"
30-
android:screenOrientation="landscape" />
3128
<activity
3229
android:name=".ActivityError"
3330
android:screenOrientation="landscape" />

project/vcmi-app/src/main/java/eu/vcmi/vcmi/ActivityLauncher.java

Lines changed: 60 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
package eu.vcmi.vcmi;
22

3+
import android.Manifest;
34
import android.app.Activity;
45
import android.content.Intent;
56
import android.content.pm.PackageManager;
6-
import android.net.Uri;
77
import android.os.Build;
88
import android.os.Bundle;
9-
import android.os.Environment;
10-
import androidx.annotation.NonNull;
119
import android.view.Menu;
1210
import android.view.MenuItem;
1311
import android.view.View;
@@ -17,17 +15,11 @@
1715
import org.json.JSONObject;
1816
import org.libsdl.app.SDLActivity;
1917

20-
import java.io.BufferedReader;
2118
import java.io.File;
22-
import java.io.IOException;
23-
import java.io.InputStream;
24-
import java.io.InputStreamReader;
25-
import java.net.InetAddress;
26-
import java.net.ServerSocket;
2719
import java.util.ArrayList;
2820
import java.util.List;
29-
import java.util.Objects;
3021

22+
import androidx.core.app.ActivityCompat;
3123
import eu.vcmi.vcmi.content.AsyncLauncherInitialization;
3224
import eu.vcmi.vcmi.settings.CodepageSettingController;
3325
import eu.vcmi.vcmi.settings.DoubleConfig;
@@ -39,7 +31,6 @@
3931
import eu.vcmi.vcmi.settings.ScreenResSettingController;
4032
import eu.vcmi.vcmi.settings.SoundSettingController;
4133
import eu.vcmi.vcmi.settings.StartGameController;
42-
import eu.vcmi.vcmi.settings.UpdateVcmiFilesController;
4334
import eu.vcmi.vcmi.util.FileUtil;
4435
import eu.vcmi.vcmi.util.Log;
4536
import eu.vcmi.vcmi.util.SharedPrefs;
@@ -50,6 +41,8 @@
5041
*/
5142
public class ActivityLauncher extends ActivityWithToolbar
5243
{
44+
public static final int PERMISSIONS_REQ_CODE = 123;
45+
5346
private final List<LauncherSettingController<?, ?>> mActualSettings = new ArrayList<>();
5447
private View mProgress;
5548
private TextView mErrorMessage;
@@ -61,7 +54,7 @@ public class ActivityLauncher extends ActivityWithToolbar
6154
private LauncherSettingController<Float, SharedPrefs> mCtrlPointerMulti;
6255
private LauncherSettingController<Integer, Config> mCtrlSoundVol;
6356
private LauncherSettingController<Integer, Config> mCtrlMusicVol;
64-
private LauncherSettingController<Void, Void> mCtrlStorage;
57+
6558
private final AsyncLauncherInitialization.ILauncherCallbacks mInitCallbacks = new AsyncLauncherInitialization.ILauncherCallbacks()
6659
{
6760
@Override
@@ -110,7 +103,7 @@ public void onCreate(final Bundle savedInstanceState)
110103
}
111104

112105
Log.i(this, "Starting launcher");
113-
Storage.initStorage(this);
106+
114107
setContentView(R.layout.activity_launcher);
115108
initToolbar(R.string.launcher_title, true);
116109

@@ -155,6 +148,33 @@ public boolean onOptionsItemSelected(final MenuItem item)
155148
return super.onOptionsItemSelected(item);
156149
}
157150

151+
@Override
152+
public void onRequestPermissionsResult(
153+
int requestCode,
154+
String[] permissions,
155+
int[] grantResults)
156+
{
157+
switch (requestCode)
158+
{
159+
case PERMISSIONS_REQ_CODE:
160+
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
161+
{
162+
// vm.onUseExternalStorage();
163+
}
164+
return;
165+
}
166+
}
167+
168+
public void requestStoragePermissions()
169+
{
170+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M)
171+
{
172+
requestPermissions(
173+
new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE},
174+
PERMISSIONS_REQ_CODE);
175+
}
176+
}
177+
158178
private void initSettingsGui()
159179
{
160180
mCtrlStart = new StartGameController(this, v -> onLaunchGameBtnPressed()).init(R.id.launcher_btn_start);
@@ -165,7 +185,6 @@ private void initSettingsGui()
165185
mCtrlPointerMulti = new PointerMultiplierSettingController(this).init(R.id.launcher_btn_pointer_multi, mPrefs);
166186
mCtrlSoundVol = new SoundSettingController(this).init(R.id.launcher_btn_volume_sound, mConfig);
167187
mCtrlMusicVol = new MusicSettingController(this).init(R.id.launcher_btn_volume_music, mConfig);
168-
mCtrlStorage = new UpdateVcmiFilesController(this, v -> onSetupStorage()).init(R.id.launcher_btn_storage);
169188

170189
mActualSettings.clear();
171190
mActualSettings.add(mCtrlCodepage);
@@ -178,9 +197,8 @@ private void initSettingsGui()
178197
mCtrlStart.hide(); // start is initially hidden, until we confirm that everything is okay via AsyncLauncherInitialization
179198
}
180199

181-
private void onSetupStorage()
200+
private void openVcmiFolder()
182201
{
183-
startActivity(new Intent(this, ActivityStorage.class));
184202
}
185203

186204
private void onLaunchGameBtnPressed()
@@ -206,13 +224,10 @@ private void saveConfig()
206224
}
207225
}
208226

209-
210227
private void loadConfigFile()
211228
{
212229
try
213230
{
214-
Storage.initStorage(this);
215-
216231
final String settingsFileContent = FileUtil.read(
217232
new File(FileUtil.configFileLocation(Storage.getVcmiDataDir(this))));
218233

@@ -265,4 +280,30 @@ private void onInitFailure(final AsyncLauncherInitialization.InitResult initResu
265280
mErrorMessage.setVisibility(View.VISIBLE);
266281
mErrorMessage.setText(initResult.mMessage);
267282
}
283+
284+
private boolean requestExternalStoragePermissions()
285+
{
286+
try
287+
{
288+
int storageWritePermissions = ActivityCompat.checkSelfPermission(
289+
this,
290+
Manifest.permission.WRITE_EXTERNAL_STORAGE);
291+
292+
if (storageWritePermissions == PackageManager.PERMISSION_GRANTED)
293+
{
294+
return true;
295+
}
296+
}
297+
catch (final RuntimeException ignored)
298+
{
299+
mErrorMessage.setVisibility(View.VISIBLE);
300+
mErrorMessage.setText(this.getString(R.string.launcher_error_permission_broken));
301+
302+
return false;
303+
}
304+
305+
requestStoragePermissions();
306+
307+
return false;
308+
}
268309
}

project/vcmi-app/src/main/java/eu/vcmi/vcmi/ActivityStorage.java

Lines changed: 0 additions & 160 deletions
This file was deleted.

project/vcmi-app/src/main/java/eu/vcmi/vcmi/ServerService.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ public IBinder onBind(Intent intent)
3131
@Override
3232
public int onStartCommand(Intent intent, int flags, int startId)
3333
{
34-
Storage.initStorage(this);
3534
NativeMethods.setupCtx(ServerService.this);
3635
LibsLoader.loadServerLibs();
3736
if (INTENT_ACTION_KILL_SERVER.equals(intent.getAction()))

0 commit comments

Comments
 (0)