diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..602796b --- /dev/null +++ b/.gitignore @@ -0,0 +1,15 @@ +*.iml +/Android_App/.gradle +/Android_App/local.properties +/Android_App/.idea/caches +/Android_App/.idea/libraries +/Android_App/.idea/modules.xml +/Android_App/.idea/workspace.xml +/Android_App/.idea/navEditor.xml +/Android_App/.idea/assetWizardSettings.xml +/Android_App/.DS_Store +/Android_App/build +/Android_App/captures +/Android_App/.externalNativeBuild +/Android_App/.cxx +/Android_App/local.properties diff --git a/Android_App/.idea/.gitignore b/Android_App/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/Android_App/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/Android_App/.idea/compiler.xml b/Android_App/.idea/compiler.xml new file mode 100644 index 0000000..61a9130 --- /dev/null +++ b/Android_App/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Android_App/.idea/gradle.xml b/Android_App/.idea/gradle.xml new file mode 100644 index 0000000..9d38be2 --- /dev/null +++ b/Android_App/.idea/gradle.xml @@ -0,0 +1,22 @@ + + + + + + + \ No newline at end of file diff --git a/Android_App/.idea/jarRepositories.xml b/Android_App/.idea/jarRepositories.xml new file mode 100644 index 0000000..a5f05cd --- /dev/null +++ b/Android_App/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/Android_App/.idea/misc.xml b/Android_App/.idea/misc.xml new file mode 100644 index 0000000..19aa6a5 --- /dev/null +++ b/Android_App/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/Android_App/.idea/vcs.xml b/Android_App/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/Android_App/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Android_App/app/.gitignore b/Android_App/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/Android_App/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/Android_App/app/build.gradle b/Android_App/app/build.gradle new file mode 100644 index 0000000..c357841 --- /dev/null +++ b/Android_App/app/build.gradle @@ -0,0 +1,43 @@ +plugins { + id 'com.android.application' +} + +android { + compileSdkVersion 29 + buildToolsVersion "30.0.3" + + defaultConfig { + vectorDrawables.useSupportLibrary = true + applicationId "com.android.simsax" + minSdkVersion 16 + targetSdkVersion 29 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } +} + +dependencies { + implementation 'androidx.recyclerview:recyclerview-selection:1.0.0' + implementation 'androidx.cardview:cardview:1.0.0' + implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'com.google.android.material:material:1.3.0' + implementation 'androidx.navigation:navigation-fragment:2.3.3' + implementation 'androidx.navigation:navigation-ui:2.3.3' + implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0' + testImplementation 'junit:junit:4.+' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' +} \ No newline at end of file diff --git a/Android_App/app/proguard-rules.pro b/Android_App/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/Android_App/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/Android_App/app/src/androidTest/java/com/android/simsax/ExampleInstrumentedTest.java b/Android_App/app/src/androidTest/java/com/android/simsax/ExampleInstrumentedTest.java new file mode 100644 index 0000000..b65bbff --- /dev/null +++ b/Android_App/app/src/androidTest/java/com/android/simsax/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.android.simsax; + +import android.content.Context; + +import androidx.test.platform.app.InstrumentationRegistry; +import androidx.test.ext.junit.runners.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext(); + assertEquals("com.android.simsax", appContext.getPackageName()); + } +} \ No newline at end of file diff --git a/Android_App/app/src/main/AndroidManifest.xml b/Android_App/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..ee56eba --- /dev/null +++ b/Android_App/app/src/main/AndroidManifest.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Android_App/app/src/main/java/com/android/simsax/AudioListAdapter.java b/Android_App/app/src/main/java/com/android/simsax/AudioListAdapter.java new file mode 100644 index 0000000..2b79554 --- /dev/null +++ b/Android_App/app/src/main/java/com/android/simsax/AudioListAdapter.java @@ -0,0 +1,217 @@ +package com.android.simsax; + +import android.app.Activity; +import android.graphics.Color; +import android.view.ActionMode; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.appcompat.app.AppCompatActivity; +import androidx.fragment.app.FragmentActivity; +import androidx.lifecycle.LifecycleOwner; +import androidx.lifecycle.Observer; +import androidx.lifecycle.ViewModelProviders; +import androidx.recyclerview.widget.RecyclerView; +import java.util.ArrayList; + +public class AudioListAdapter extends RecyclerView.Adapter { + + private ArrayList exampleList; + private OnItemClickListener mListener; + private boolean isEnable = false; + private boolean allSelected = false; + private ArrayList selected = new ArrayList<>(); + private ArrayList selectedItems = new ArrayList<>(); + private MainViewModel mainViewModel; + private Activity activity; + + + public class AudioViewHolder extends RecyclerView.ViewHolder { + + public ImageView buttonPlay; + public TextView fileName; + public ImageView shareButton; + + public AudioViewHolder(@NonNull View itemView, OnItemClickListener listener) { + super(itemView); + + buttonPlay = itemView.findViewById(R.id.button1); + fileName = itemView.findViewById(R.id.fileName1); + shareButton = itemView.findViewById(R.id.share_button); + + itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (listener != null) { + if (!isEnable) { + int position = getAdapterPosition(); + if (position != RecyclerView.NO_POSITION) { + listener.onItemClick(position); + } + } else { // Action mode + ClickItem(itemView, getAdapterPosition()); + } + } + } + }); + + shareButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (listener != null) { + if (!isEnable) { + int position = getAdapterPosition(); + if (position != RecyclerView.NO_POSITION) { + listener.onShareClick(position); + } + } else { // Action mode + ClickItem(itemView, getAdapterPosition()); + } + } + } + }); + } + } + + public AudioListAdapter(Activity activity, ArrayList exampleList) { + this.exampleList = exampleList; + this.activity = activity; + for (int i=0; i() { + @Override + public void onChanged(String s) { + if (s.equals("0")) + mode.finish(); + else + mode.setTitle(String.format("%s", s)); + } + }); + return true; + } + + @Override + public boolean onActionItemClicked(ActionMode mode, MenuItem item) { + int id = item.getItemId(); + + if (id == R.id.menu_delete) { + for (ExampleRow f : selectedItems) { + exampleList.remove(f); + f.getFile().delete(); + } + mode.finish(); + } else { + if (selectedItems.size() == exampleList.size()) { + selectedItems.clear(); + for (int i=0; i 0) { + out.write(msgByte, 0, len); + } + out.close(); + + MediaPlayer mediaPlayer = new MediaPlayer(); + mediaPlayer.setDataSource(dstFile.getAbsolutePath()); + mediaPlayer.prepare(); + mediaPlayer.start(); + } + } +} \ No newline at end of file diff --git a/Android_App/app/src/main/java/com/android/simsax/MainViewModel.java b/Android_App/app/src/main/java/com/android/simsax/MainViewModel.java new file mode 100644 index 0000000..0bacc43 --- /dev/null +++ b/Android_App/app/src/main/java/com/android/simsax/MainViewModel.java @@ -0,0 +1,16 @@ +package com.android.simsax; + +import androidx.lifecycle.MutableLiveData; +import androidx.lifecycle.ViewModel; + +public class MainViewModel extends ViewModel { + MutableLiveData mutableLiveData = new MutableLiveData<>(); + + public void setText(String s) { + mutableLiveData.setValue(s); + } + + public MutableLiveData getText() { + return mutableLiveData; + } +} diff --git a/Android_App/app/src/main/java/com/android/simsax/RecordingsActivity.java b/Android_App/app/src/main/java/com/android/simsax/RecordingsActivity.java new file mode 100644 index 0000000..b70b775 --- /dev/null +++ b/Android_App/app/src/main/java/com/android/simsax/RecordingsActivity.java @@ -0,0 +1,135 @@ +package com.android.simsax; + +import android.content.Intent; +import android.graphics.Color; +import android.media.MediaPlayer; +import android.os.Bundle; +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.widget.Toolbar; +import androidx.core.content.FileProvider; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; + +public class RecordingsActivity extends AppCompatActivity{ + private File[] files; + private RecyclerView audioList; + private AudioListAdapter audioListAdapter; + private MediaPlayer mediaPlayer = null; + private boolean isPlaying = false; + private boolean paused = false; + private ExampleRow thisFile = null; + private ArrayList exampleList; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_recordings); + Toolbar toolbar = findViewById(R.id.toolbarRecordings); + toolbar.setTitleTextColor(Color.WHITE); + setSupportActionBar(toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + getSupportActionBar().setDisplayShowHomeEnabled(true); + audioList = findViewById(R.id.audio_list_view1); + mediaPlayer = new MediaPlayer(); + + String filesPath = getExternalFilesDir("/").getAbsolutePath(); + File directory = new File(filesPath); + files = directory.listFiles(); + + exampleList = new ArrayList<>(); + + for (File file : files) { + exampleList.add(new ExampleRow(R.drawable.ic_baseline_play_circle_24, file.getName(), file)); + } + + audioListAdapter = new AudioListAdapter(this, exampleList); + audioList.setHasFixedSize(true); + audioList.setLayoutManager(new LinearLayoutManager(getApplicationContext())); + audioList.setAdapter(audioListAdapter); + + audioListAdapter.setOnItemClickListener(new AudioListAdapter.OnItemClickListener() { + @Override + public void onItemClick(int position) { + elementClick(exampleList.get(position), position); + audioListAdapter.notifyItemChanged(position); + } + + @Override + public void onShareClick(int position) { + shareClick(exampleList.get(position)); + } + }); + + } + + public void elementClick(ExampleRow itemPlayed, int position) { + if (isPlaying && itemPlayed == thisFile) { + pauseAudio(itemPlayed); + } else { + if (isPlaying) { + int pos = 0; + for (ExampleRow element : exampleList) { + if (element.getImageButton() == R.drawable.ic_baseline_pause_circle_24) { + element.setImageButton(R.drawable.ic_baseline_play_circle_24); + audioListAdapter.notifyItemChanged(pos); + break; + } + pos++; + } + + } + + mediaPlayer.stop(); + mediaPlayer.reset(); + thisFile = itemPlayed; + itemPlayed.setImageButton(R.drawable.ic_baseline_pause_circle_24); + playAudio(itemPlayed, position); + } + } + + private void pauseAudio(ExampleRow itemPlayed) { + paused = !paused; + if (paused) { + mediaPlayer.pause(); + itemPlayed.setImageButton(R.drawable.ic_baseline_play_circle_24); + } else { + mediaPlayer.start(); + itemPlayed.setImageButton(R.drawable.ic_baseline_pause_circle_24); + } + } + + + private void playAudio(ExampleRow itemPlayed, int position) { + try { + mediaPlayer.setDataSource(itemPlayed.getFile().getAbsolutePath()); + mediaPlayer.prepare(); + mediaPlayer.start(); + } catch (IOException e) { + e.printStackTrace(); + } + + mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { + @Override + public void onCompletion(MediaPlayer mp) { + itemPlayed.setImageButton(R.drawable.ic_baseline_play_circle_24); + audioListAdapter.notifyItemChanged(position); + isPlaying = false; + } + }); + isPlaying = true; + } + + public void shareClick(ExampleRow currentItem) { + Intent shareIntent = new Intent(); + shareIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); + shareIntent.setAction(Intent.ACTION_SEND); + shareIntent.putExtra(Intent.EXTRA_STREAM, FileProvider.getUriForFile(this, this.getApplicationContext().getPackageName() + ".provider", currentItem.getFile())); + shareIntent.setType("audio/mp3"); + startActivity(Intent.createChooser(shareIntent, getResources().getText(R.string.send_to))); + } + +} + diff --git a/Android_App/app/src/main/res/drawable-hdpi/ic_action_name.png b/Android_App/app/src/main/res/drawable-hdpi/ic_action_name.png new file mode 100644 index 0000000..00fbe02 Binary files /dev/null and b/Android_App/app/src/main/res/drawable-hdpi/ic_action_name.png differ diff --git a/Android_App/app/src/main/res/drawable-mdpi/ic_action_name.png b/Android_App/app/src/main/res/drawable-mdpi/ic_action_name.png new file mode 100644 index 0000000..6787799 Binary files /dev/null and b/Android_App/app/src/main/res/drawable-mdpi/ic_action_name.png differ diff --git a/Android_App/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/Android_App/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/Android_App/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/Android_App/app/src/main/res/drawable-xhdpi/ic_action_name.png b/Android_App/app/src/main/res/drawable-xhdpi/ic_action_name.png new file mode 100644 index 0000000..9f3a198 Binary files /dev/null and b/Android_App/app/src/main/res/drawable-xhdpi/ic_action_name.png differ diff --git a/Android_App/app/src/main/res/drawable-xxhdpi/ic_action_name.png b/Android_App/app/src/main/res/drawable-xxhdpi/ic_action_name.png new file mode 100644 index 0000000..f7f2bce Binary files /dev/null and b/Android_App/app/src/main/res/drawable-xxhdpi/ic_action_name.png differ diff --git a/Android_App/app/src/main/res/drawable-xxxhdpi/ic_action_name.png b/Android_App/app/src/main/res/drawable-xxxhdpi/ic_action_name.png new file mode 100644 index 0000000..8f127bc Binary files /dev/null and b/Android_App/app/src/main/res/drawable-xxxhdpi/ic_action_name.png differ diff --git a/Android_App/app/src/main/res/drawable/button_state.xml b/Android_App/app/src/main/res/drawable/button_state.xml new file mode 100644 index 0000000..8bc506b --- /dev/null +++ b/Android_App/app/src/main/res/drawable/button_state.xml @@ -0,0 +1,8 @@ + + + + + + \ No newline at end of file diff --git a/Android_App/app/src/main/res/drawable/ic_baseline_delete_24.xml b/Android_App/app/src/main/res/drawable/ic_baseline_delete_24.xml new file mode 100644 index 0000000..282594c --- /dev/null +++ b/Android_App/app/src/main/res/drawable/ic_baseline_delete_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Android_App/app/src/main/res/drawable/ic_baseline_folder_24.xml b/Android_App/app/src/main/res/drawable/ic_baseline_folder_24.xml new file mode 100644 index 0000000..dc6b080 --- /dev/null +++ b/Android_App/app/src/main/res/drawable/ic_baseline_folder_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/Android_App/app/src/main/res/drawable/ic_baseline_pause_circle_24.xml b/Android_App/app/src/main/res/drawable/ic_baseline_pause_circle_24.xml new file mode 100644 index 0000000..9d9172b --- /dev/null +++ b/Android_App/app/src/main/res/drawable/ic_baseline_pause_circle_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/Android_App/app/src/main/res/drawable/ic_baseline_play_circle_24.xml b/Android_App/app/src/main/res/drawable/ic_baseline_play_circle_24.xml new file mode 100644 index 0000000..31814e2 --- /dev/null +++ b/Android_App/app/src/main/res/drawable/ic_baseline_play_circle_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/Android_App/app/src/main/res/drawable/ic_baseline_power_settings_new_24.xml b/Android_App/app/src/main/res/drawable/ic_baseline_power_settings_new_24.xml new file mode 100644 index 0000000..7495b98 --- /dev/null +++ b/Android_App/app/src/main/res/drawable/ic_baseline_power_settings_new_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/Android_App/app/src/main/res/drawable/ic_baseline_select_all_24.xml b/Android_App/app/src/main/res/drawable/ic_baseline_select_all_24.xml new file mode 100644 index 0000000..c70e5ac --- /dev/null +++ b/Android_App/app/src/main/res/drawable/ic_baseline_select_all_24.xml @@ -0,0 +1,5 @@ + + + diff --git a/Android_App/app/src/main/res/drawable/ic_baseline_settings_24.xml b/Android_App/app/src/main/res/drawable/ic_baseline_settings_24.xml new file mode 100644 index 0000000..41a82ed --- /dev/null +++ b/Android_App/app/src/main/res/drawable/ic_baseline_settings_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/Android_App/app/src/main/res/drawable/ic_baseline_share_24.xml b/Android_App/app/src/main/res/drawable/ic_baseline_share_24.xml new file mode 100644 index 0000000..e502784 --- /dev/null +++ b/Android_App/app/src/main/res/drawable/ic_baseline_share_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/Android_App/app/src/main/res/drawable/ic_italy.xml b/Android_App/app/src/main/res/drawable/ic_italy.xml new file mode 100644 index 0000000..65657ad --- /dev/null +++ b/Android_App/app/src/main/res/drawable/ic_italy.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/Android_App/app/src/main/res/drawable/ic_launcher_background.xml b/Android_App/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/Android_App/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Android_App/app/src/main/res/drawable/ic_united_kingdom.xml b/Android_App/app/src/main/res/drawable/ic_united_kingdom.xml new file mode 100644 index 0000000..1e43614 --- /dev/null +++ b/Android_App/app/src/main/res/drawable/ic_united_kingdom.xml @@ -0,0 +1,27 @@ + + + + + + + + + diff --git a/Android_App/app/src/main/res/drawable/play_button_default.xml b/Android_App/app/src/main/res/drawable/play_button_default.xml new file mode 100644 index 0000000..05a2bab --- /dev/null +++ b/Android_App/app/src/main/res/drawable/play_button_default.xml @@ -0,0 +1,5 @@ + + + diff --git a/Android_App/app/src/main/res/drawable/play_button_focused.xml b/Android_App/app/src/main/res/drawable/play_button_focused.xml new file mode 100644 index 0000000..f145eed --- /dev/null +++ b/Android_App/app/src/main/res/drawable/play_button_focused.xml @@ -0,0 +1,5 @@ + + + diff --git a/Android_App/app/src/main/res/drawable/play_button_pressed.xml b/Android_App/app/src/main/res/drawable/play_button_pressed.xml new file mode 100644 index 0000000..1ed447e --- /dev/null +++ b/Android_App/app/src/main/res/drawable/play_button_pressed.xml @@ -0,0 +1,5 @@ + + + diff --git a/Android_App/app/src/main/res/font/maven_pro.xml b/Android_App/app/src/main/res/font/maven_pro.xml new file mode 100644 index 0000000..c6a858f --- /dev/null +++ b/Android_App/app/src/main/res/font/maven_pro.xml @@ -0,0 +1,7 @@ + + + diff --git a/Android_App/app/src/main/res/layout/activity_main.xml b/Android_App/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..b9312cc --- /dev/null +++ b/Android_App/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,107 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Android_App/app/src/main/res/layout/activity_recordings.xml b/Android_App/app/src/main/res/layout/activity_recordings.xml new file mode 100644 index 0000000..487af45 --- /dev/null +++ b/Android_App/app/src/main/res/layout/activity_recordings.xml @@ -0,0 +1,35 @@ + + + + + + + \ No newline at end of file diff --git a/Android_App/app/src/main/res/layout/example_row.xml b/Android_App/app/src/main/res/layout/example_row.xml new file mode 100644 index 0000000..493720f --- /dev/null +++ b/Android_App/app/src/main/res/layout/example_row.xml @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Android_App/app/src/main/res/menu/menu.xml b/Android_App/app/src/main/res/menu/menu.xml new file mode 100644 index 0000000..d35b126 --- /dev/null +++ b/Android_App/app/src/main/res/menu/menu.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/Android_App/app/src/main/res/menu/menu_select.xml b/Android_App/app/src/main/res/menu/menu_select.xml new file mode 100644 index 0000000..d6a41da --- /dev/null +++ b/Android_App/app/src/main/res/menu/menu_select.xml @@ -0,0 +1,18 @@ + + + + + + + \ No newline at end of file diff --git a/Android_App/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/Android_App/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..036d09b --- /dev/null +++ b/Android_App/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Android_App/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/Android_App/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..036d09b --- /dev/null +++ b/Android_App/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/Android_App/app/src/main/res/mipmap-hdpi/ic_launcher.png b/Android_App/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..180e337 Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/Android_App/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png b/Android_App/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..0b5a39b Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png differ diff --git a/Android_App/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/Android_App/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000..1008522 Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/Android_App/app/src/main/res/mipmap-mdpi/ic_launcher.png b/Android_App/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..2e7b38e Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/Android_App/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png b/Android_App/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..a2a2a02 Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png differ diff --git a/Android_App/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/Android_App/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000..2691e62 Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/Android_App/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/Android_App/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..a98752e Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/Android_App/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png b/Android_App/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..45c1ea6 Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png differ diff --git a/Android_App/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/Android_App/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000..05d2652 Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/Android_App/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/Android_App/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..daf98bf Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/Android_App/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png b/Android_App/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..f02c72d Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png differ diff --git a/Android_App/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/Android_App/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..4bb11c9 Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/Android_App/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/Android_App/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..76085f3 Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/Android_App/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png b/Android_App/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000..0b0f387 Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png differ diff --git a/Android_App/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/Android_App/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..676aa9c Binary files /dev/null and b/Android_App/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/Android_App/app/src/main/res/values-night/themes.xml b/Android_App/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..203e219 --- /dev/null +++ b/Android_App/app/src/main/res/values-night/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/Android_App/app/src/main/res/values/colors.xml b/Android_App/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..f8c6127 --- /dev/null +++ b/Android_App/app/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/Android_App/app/src/main/res/values/dimens.xml b/Android_App/app/src/main/res/values/dimens.xml new file mode 100644 index 0000000..125df87 --- /dev/null +++ b/Android_App/app/src/main/res/values/dimens.xml @@ -0,0 +1,3 @@ + + 16dp + \ No newline at end of file diff --git a/Android_App/app/src/main/res/values/font_certs.xml b/Android_App/app/src/main/res/values/font_certs.xml new file mode 100644 index 0000000..d2226ac --- /dev/null +++ b/Android_App/app/src/main/res/values/font_certs.xml @@ -0,0 +1,17 @@ + + + + @array/com_google_android_gms_fonts_certs_dev + @array/com_google_android_gms_fonts_certs_prod + + + + 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 + + + diff --git a/Android_App/app/src/main/res/values/ic_launcher_background.xml b/Android_App/app/src/main/res/values/ic_launcher_background.xml new file mode 100644 index 0000000..4e823a0 --- /dev/null +++ b/Android_App/app/src/main/res/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #3DDC84 + \ No newline at end of file diff --git a/Android_App/app/src/main/res/values/preloaded_fonts.xml b/Android_App/app/src/main/res/values/preloaded_fonts.xml new file mode 100644 index 0000000..1addd1b --- /dev/null +++ b/Android_App/app/src/main/res/values/preloaded_fonts.xml @@ -0,0 +1,6 @@ + + + + @font/maven_pro + + diff --git a/Android_App/app/src/main/res/values/strings.xml b/Android_App/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..fec1ab9 --- /dev/null +++ b/Android_App/app/src/main/res/values/strings.xml @@ -0,0 +1,25 @@ + + Simsax voice + Write something... + Scrivi qualcosa... + play button + fuck off + Recordings + Settings + Exit + Navigation drawer open + Navigation drawer close + RecordingsActivity + + First Fragment + Second Fragment + Next + Previous + + Hello first fragment + Hello second fragment. Arg: %1$s + TextView + Send to... + ita button + eng button + \ No newline at end of file diff --git a/Android_App/app/src/main/res/values/themes.xml b/Android_App/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..d732590 --- /dev/null +++ b/Android_App/app/src/main/res/values/themes.xml @@ -0,0 +1,44 @@ + + + + + + + + + ` + + + +