new release

This commit is contained in:
Page Asgardius 2022-09-16 09:40:15 -07:00
parent 1344f1a4e2
commit d6aebf45b8
9 changed files with 99 additions and 15 deletions

View file

@ -23,6 +23,11 @@ Planned feature list
This app is a work in progress, so it have some bugs that need to be fixed This app is a work in progress, so it have some bugs that need to be fixed
Supported languages
* English
* Spanish
Knnown issues Knnown issues
* Object listing can be slow on buckets with a lot of objects (4000+) * Object listing can be slow on buckets with a lot of objects (4000+)

View file

@ -9,8 +9,8 @@ android {
applicationId "asgardius.page.s3manager" applicationId "asgardius.page.s3manager"
minSdk 24 minSdk 24
targetSdk 33 targetSdk 33
versionCode 9 versionCode 10
versionName "0.1.7" versionName "0.1.8"
setProperty("archivesBaseName", "s3-manager-$versionName") setProperty("archivesBaseName", "s3-manager-$versionName")
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

View file

@ -21,14 +21,17 @@
<activity <activity
android:name=".Downloader" android:name=".Downloader"
android:configChanges="orientation|keyboardHidden|screenSize|uiMode|keyboardHidden" android:configChanges="orientation|keyboardHidden|screenSize|uiMode|keyboardHidden"
android:exported="false" /> android:exported="false"
android:label="@string/download_file" />
<activity <activity
android:name=".CreateBucket" android:name=".CreateBucket"
android:exported="false" /> android:exported="false"
android:label="@string/create_bucket" />
<activity <activity
android:name=".Uploader" android:name=".Uploader"
android:configChanges="orientation|keyboardHidden|screenSize|uiMode|keyboardHidden" android:configChanges="orientation|keyboardHidden|screenSize|uiMode|keyboardHidden"
android:exported="false" /> android:exported="false"
android:label="@string/upload_button" />
<activity <activity
android:name=".ImageViewer" android:name=".ImageViewer"
android:configChanges="orientation|keyboardHidden|screenSize|uiMode|keyboardHidden" android:configChanges="orientation|keyboardHidden|screenSize|uiMode|keyboardHidden"
@ -54,12 +57,12 @@
<activity <activity
android:name=".BucketSelect" android:name=".BucketSelect"
android:configChanges="orientation|keyboardHidden|screenSize|uiMode|keyboardHidden" android:configChanges="orientation|keyboardHidden|screenSize|uiMode|keyboardHidden"
android:exported="false" /> android:exported="false"
android:label="@string/bucket_list" />
<activity <activity
android:name=".VideoPlayer" android:name=".VideoPlayer"
android:configChanges="orientation|keyboardHidden|screenSize|uiMode|keyboardHidden" android:configChanges="orientation|keyboardHidden|screenSize|uiMode|keyboardHidden"
android:exported="false" android:exported="false"
android:label="@string/title_activity_video_player"
android:theme="@style/Theme.AsgardiusS3Manager.Fullscreen" /> android:theme="@style/Theme.AsgardiusS3Manager.Fullscreen" />
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"

View file

@ -44,6 +44,7 @@ public class AccountAdd extends AppCompatActivity {
Button accounttest = (Button)findViewById(R.id.testaccount); Button accounttest = (Button)findViewById(R.id.testaccount);
edit = getIntent().getBooleanExtra("edit", false); edit = getIntent().getBooleanExtra("edit", false);
if (edit) { if (edit) {
getSupportActionBar().setTitle(getResources().getString(R.string.accountedit_button));
register.setText(getResources().getString(R.string.accountsave_button)); register.setText(getResources().getString(R.string.accountsave_button));
id = getIntent().getStringExtra("alias"); id = getIntent().getStringExtra("alias");
endpoint = getIntent().getStringExtra("endpoint"); endpoint = getIntent().getStringExtra("endpoint");
@ -56,6 +57,8 @@ public class AccountAdd extends AppCompatActivity {
aupick.setText(username); aupick.setText(username);
appick.setText(password); appick.setText(password);
arpick.setText(location); arpick.setText(location);
} else{
getSupportActionBar().setTitle(getResources().getString(R.string.accountadd_button));
} }

View file

@ -241,6 +241,7 @@ public class MainActivity extends AppCompatActivity {
Intent intent = new Intent(this, WebBrowser.class); Intent intent = new Intent(this, WebBrowser.class);
intent.putExtra("web_url", "file:///android_asset/about.htm"); intent.putExtra("web_url", "file:///android_asset/about.htm");
intent.putExtra("title", getResources().getString(R.string.about_button));
startActivity(intent); startActivity(intent);
} }

View file

@ -60,6 +60,7 @@ public class ObjectSelect extends AppCompatActivity {
prefix = getIntent().getStringExtra("prefix"); prefix = getIntent().getStringExtra("prefix");
treelevel = getIntent().getIntExtra("treelevel", 0); treelevel = getIntent().getIntExtra("treelevel", 0);
setContentView(R.layout.activity_object_select); setContentView(R.layout.activity_object_select);
getSupportActionBar().setTitle(bucket+"/"+prefix);
region = Region.getRegion(location); region = Region.getRegion(location);
s3ClientOptions = S3ClientOptions.builder().build(); s3ClientOptions = S3ClientOptions.builder().build();
myCredentials = new BasicAWSCredentials(username, password); myCredentials = new BasicAWSCredentials(username, password);
@ -214,7 +215,7 @@ public class ObjectSelect extends AppCompatActivity {
try { try {
GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, prefix + Name.get(position).toString()); GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, prefix + Name.get(position).toString());
URL objectURL = s3client.generatePresignedUrl(request); URL objectURL = s3client.generatePresignedUrl(request);
webBrowser(objectURL.toString()); webBrowser(objectURL.toString(), Name.get(position).toString());
} catch (Exception e) { } catch (Exception e) {
Toast.makeText(getApplicationContext(),getResources().getString(R.string.media_list_fail), Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(),getResources().getString(R.string.media_list_fail), Toast.LENGTH_SHORT).show();
} }
@ -329,10 +330,11 @@ public class ObjectSelect extends AppCompatActivity {
} }
private void webBrowser(String url) { private void webBrowser(String url, String pagetitle) {
Intent intent = new Intent(this, WebBrowser.class); Intent intent = new Intent(this, WebBrowser.class);
intent.putExtra("web_url", url); intent.putExtra("web_url", url);
intent.putExtra("title", pagetitle);
startActivity(intent); startActivity(intent);
} }

View file

@ -9,7 +9,7 @@ import android.webkit.WebViewClient;
public class WebBrowser extends AppCompatActivity { public class WebBrowser extends AppCompatActivity {
private WebView npw; private WebView npw;
String webURL; String webURL, pagetitle;
@Override @Override
protected void onCreate(Bundle savedInstanceState) { protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); super.onCreate(savedInstanceState);
@ -17,6 +17,8 @@ public class WebBrowser extends AppCompatActivity {
//This initializes webview object //This initializes webview object
try { try {
webURL = getIntent().getStringExtra("web_url"); webURL = getIntent().getStringExtra("web_url");
pagetitle = getIntent().getStringExtra("title");
getSupportActionBar().setTitle(pagetitle);
npw =(WebView)findViewById(R.id.webview); npw =(WebView)findViewById(R.id.webview);
npw.setWebViewClient(new MyBrowser()); npw.setWebViewClient(new MyBrowser());
npw.loadUrl(webURL); npw.loadUrl(webURL);

View file

@ -0,0 +1,69 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="bucket_list">Lista de buckets</string>
<string name="account_list">Lista de cuentas</string>
<string name="object_list">Lista de objetos</string>
<string name="Image">Imagen</string>
<string name="broken_database">La base de datos está corrupta, favor de reinstalar la app</string>
<string name="pending_feature">Esta característica aún no es implementada</string>
<string name="set_bucket_name">Establezca el nombre del nuevo bucket</string>
<string name="bucket_name">Nombre del bucket</string>
<string name="bucket_name_empty">Se requiere un nombre para el bucket</string>
<string name="file_external">Abrir en</string>
<string name="download_file">Descargar archivo</string>
<string name="download_in_progress">Descarga en proceso</string>
<string name="download_success">Archivo descargado exitosamente</string>
<string name="upload_file_tobucket">Subir archivo en este bucket</string>
<string name="upload_folder_tobucket">Subir carpeta en este bucket</string>
<string name="feature_not_supported">Su dispositivo no es compatible con esta característica</string>
<string name="file_path_fail">No se encuentra el uri del archivo</string>
<string name="upload_button">Subir archivo</string>
<string name="upload_prefix">Prefijo del objeto</string>
<string name="no_file_selected">Favor de seleccionar un archivo</string>
<string name="upload_success">Archivo subido exitosamente</string>
<string name="upload_in_progress">Subida en proceso</string>
<string name="retry">Reintentar</string>
<string name="download_failed">Descarga fallida</string>
<string name="success">Éxito</string>
<string name="create_bucket">Crear nuevo bucket</string>
<string name="create_bucket_success">Bucket creado exitosamente</string>
<string name="upload_file_here">Subir archivo en el directorio actual</string>
<string name="upload_folder_here">Subir carpeta en el directorio actual</string>
<string name="file_del">Eliminar</string>
<string name="file_del_confirm">¿Desea eliminar este archivo?</string>
<string name="folder_del_confirm">¿Desea eliminar esta carpeta?</string>
<string name="bucket_del_confirm">¿Desea eliminar este bucket?</string>
<string name="bucket_del_success">Bucket eliminado exitosamente</string>
<string name="folder_del_success">Carpeta eliminada exitosamente</string>
<string name="file_del_success">Archivo eliminado exitosamente</string>
<string name="only_item_onlist">Este es el único elemento en esta carpeta, elimine la carpeta padre en su lugar</string>
<string name="accountselect">Seleccione una cuenta</string>
<string name="accountadd_button">Agregar cuenta</string>
<string name="accounttest_button">Probar credenciales</string>
<string name="accounttest_success">Las credenciales son correctas</string>
<string name="accountadd_alias">Alias de la cuenta</string>
<string name="accountadd_endpoint">URL del endpoint</string>
<string name="accountadd_region">Región S3</string>
<string name="accountadd_username">Clave de acceso S3</string>
<string name="accountadd_password">Clave secreta S3</string>
<string name="accountadd_success">Cuenta agregada exitosamente</string>
<string name="accountadd_fail">Este alias ya está en uso</string>
<string name="accountadd_null">Todos los campos son obligatorios</string>
<string name="accountdel_button">Quitar cuenta</string>
<string name="accountdel_success">Se quitó la cuenta</string>
<string name="accountdel_confirm">¿Desea quitar esta cuenta?</string>
<string name="accountedit_button">Editar cuenta</string>
<string name="accountsave_button">Guardar cambios</string>
<string name="accountsave_success">Cuenta editada exitosamente</string>
<string name="nosslwarning">No se permiten las conexiones sin SSL</string>
<string name="invalid_url">La URL del endpoint debe iniciar con https://</string>
<string name="explorer_test_button">Probar explorador de archivos</string>
<string name="unsupported_file">Tipo de archivo no soportado</string>
<string name="test_server_button">Conectar al servidor de pruebas</string>
<string name="media_conn_fail">No se pudo obtener el archivo remoto</string>
<string name="media_wrong_type">Archivo multimedia inválido</string>
<string name="media_list_fail">No se pudo conectar al servidor</string>
<string name="about_button">Acerca de esta app</string>
<string name="dummy_button">Botón de prueba</string>
<string name="dummy_content">Contenido de prueba</string>
</resources>

View file

@ -1,9 +1,8 @@
<resources> <resources>
<string name="app_name">S3 Manager</string> <string name="app_name" translatable="false">S3 Manager</string>
<string name="aws_endpoint">.amazonaws.com</string> <string name="aws_endpoint" translatable="false">.amazonaws.com</string>
<string name="endpoint_url">https://object.asgardius.company</string> <string name="endpoint_url" translatable="false">https://object.asgardius.company</string>
<string name="access_key">google</string> <string name="access_key" translatable="false">google</string>
<string name="title_activity_video_player">VideoPlayer</string>
<string name="account_list">Account list</string> <string name="account_list">Account list</string>
<string name="bucket_list">Bucket list</string> <string name="bucket_list">Bucket list</string>
<string name="object_list">Object list</string> <string name="object_list">Object list</string>