版本V1.0.0(1)

This commit is contained in:
denghaina 2024-08-19 15:40:04 +08:00
commit b90b345a6b
149 changed files with 8929 additions and 0 deletions

17
.gitignore vendored Normal file
View File

@ -0,0 +1,17 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties
app/release/
.idea/

BIN
ScaryPrank.jks Normal file

Binary file not shown.

1
app/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
/build

67
app/build.gradle.kts Normal file
View File

@ -0,0 +1,67 @@
import java.text.SimpleDateFormat
import java.util.Date
plugins {
alias(libs.plugins.android.application)
id("org.jetbrains.kotlin.android")
id ("kotlin-kapt")
}
val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date())
android {
namespace = "com.lc.myapplication.security.mysoundstwo"
compileSdk = 34
defaultConfig {
applicationId = "com.sp.myapplication.scary.prank"
minSdk = 23
targetSdk = 34
versionCode = 1
versionName = "1.0.0"
setProperty("archivesBaseName", "ScaryPrank_v${versionName}_(${versionCode})_$timestamp")
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
buildFeatures {
viewBinding = true
}
}
dependencies {
implementation(libs.appcompat)
implementation(libs.material)
implementation(libs.activity)
implementation(libs.constraintlayout)
testImplementation(libs.junit)
androidTestImplementation(libs.ext.junit)
androidTestImplementation(libs.espresso.core)
implementation ("com.github.bumptech.glide:glide:4.16.0")
implementation ("com.google.code.gson:gson:2.10.1")
implementation("com.google.android.material:material:1.11.0")
implementation("androidx.appcompat:appcompat:1.3.0")
val room_version = "2.6.1"
implementation("androidx.room:room-runtime:$room_version")
annotationProcessor("androidx.room:room-compiler:$room_version")
kapt("androidx.room:room-compiler:$room_version")
implementation("androidx.room:room-ktx:$room_version")
implementation("androidx.room:room-rxjava2:$room_version")
implementation("androidx.room:room-rxjava3:$room_version")
implementation("androidx.room:room-guava:$room_version")
testImplementation("androidx.room:room-testing:$room_version")
implementation("androidx.room:room-paging:$room_version")
}

27
app/proguard-rules.pro vendored Normal file
View File

@ -0,0 +1,27 @@
# 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
-keep class com.google.gson.reflect.TypeToken { *; }
-keep class * extends com.google.gson.reflect.TypeToken
-keep class com.lc.myapplication.security.mysoundstwo.list.SoundsData { *; }
-keep class com.lc.myapplication.security.mysoundstwo.list.SoundsList { *; }

View File

@ -0,0 +1,26 @@
package com.lc.myapplication.security.mysoundstwo;
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 <a href="http://d.android.com/tools/testing">Testing documentation</a>
*/
@RunWith(AndroidJUnit4.class)
public class ExampleInstrumentedTest {
@Test
public void useAppContext() {
// Context of the app under test.
Context appContext = InstrumentationRegistry.getInstrumentation().getTargetContext();
assertEquals("com.lc.myapplication.security.mysoundstwo", appContext.getPackageName());
}
}

View File

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_MEDIA_AUDIO" />
<application
android:name=".ScaryPrank"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/sounds_logo"
android:label="@string/app_name"
android:requestLegacyExternalStorage="true"
android:roundIcon="@mipmap/sounds_logo"
android:supportsRtl="true"
android:theme="@style/Theme.MySoundsTwo"
tools:targetApi="31">
<activity
android:name=".activity.PracyActivity"
android:exported="false" />
<activity
android:name=".activity.SettingActivity"
android:exported="false" />
<activity
android:name=".activity.SetNameActivity"
android:exported="false" />
<activity
android:name=".activity.RecordSoundActivity"
android:exported="false" />
<activity
android:name=".activity.PreviewActivity"
android:exported="false" />
<activity
android:name=".activity.CategoryActivity"
android:exported="false" />
<activity
android:name=".activity.MainActivity"
android:exported="false" />
<activity
android:name=".activity.IntoActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,86 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Privacy Policy</title>
<style>
body {
font-family: Arial, sans-serif;
line-height: 1.6;
margin: 0;
padding: 0;
padding: 20px;
}
h1, h2 {
color: #333;
}
h2 {
margin-top: 20px;
}
p {
margin: 10px 0;
}
ul {
margin: 10px 0;
padding-left: 20px;
}
</style>
</head>
<body>
<h1>Privacy Policy</h1>
<p><strong>Date:</strong> August 9, 2024</p>
<p>We provide this Privacy Policy to help you understand how we collect, use, and disclose information, including what you may provide to us or that we obtain from our products and services. We treat your privacy very seriously. Your privacy is important to us.</p>
<h2>Information Collection and Use</h2>
<p>For a better experience, while using our Service, we may require you to provide us with certain personally identifiable information, such as users' name, address, location, pictures, etc. The information that we request will be retained on your device and is not collected or retained by us in any way and used as described in this privacy policy.</p>
<p>The app does use third-party services that may collect information used to identify you.</p>
<p>Please refer to the privacy policy of the third-party service provider used by the application:</p>
<ul>
<li>Google Play Services</li>
<li>Google Analytics for Firebase</li>
<li>Firebase Crashlytics</li>
<li>Unity</li>
<li>AppLovin</li>
<li>Pangle</li>
<li>Mintegral</li>
<li>Bigo</li>
<li>Ironsource</li>
<li>Vungle</li>
</ul>
<h2>Log Data</h2>
<p>We want to inform you that whenever you use our Service, in case of an error in the app, we collect data and information (through third-party products) on your phone called Log Data. This Log Data may include information such as your device Internet Protocol (“IP”) address, device name, operating system version, the configuration of the app when utilizing our Service, the time and date of your use of the Service, and other statistics.</p>
<h2>Cookies</h2>
<p>Cookies are files with a small amount of data that are commonly used as anonymous unique identifiers. These are sent to your browser from the websites that you visit and are stored on your device's internal memory.</p>
<p>This Service does not use these “cookies” explicitly. However, the app may use third-party code and libraries that use “cookies” to collect information and improve their services. You have the option to either accept or refuse these cookies and know when a cookie is being sent to your device. If you choose to refuse our cookies, you may not be able to use some portions of this Service.</p>
<h2>Service Providers</h2>
<p>We may employ third-party companies and individuals due to the following reasons:</p>
<ul>
<li>To facilitate our Service</li>
<li>To provide the Service on our behalf</li>
<li>To perform Service-related services, or</li>
<li>To assist us in analyzing how our Service is used</li>
</ul>
<p>We want to inform users of this Service that these third parties have access to their Personal Information. The reason is to perform the tasks assigned to them on our behalf. However, they are obligated not to disclose or use the information for any other purpose.</p>
<h2>Security</h2>
<p>We value your trust in providing us your Personal Information, thus we are striving to use commercially acceptable means of protecting it. But remember that no method of transmission over the internet, or method of electronic storage is 100% secure and reliable, and we cannot guarantee its absolute security.</p>
<h2>Links to Other Sites</h2>
<p>This Service may contain links to other sites. If you click on a third-party link, you will be directed to that site. Note that these external sites are not operated by us. Therefore, we strongly advise you to review the Privacy Policy of these websites. We have no control over and assume no responsibility for the content, privacy policies, or practices of any third-party sites or services.</p>
<h2>Childrens Privacy</h2>
<p>These Services do not address anyone under the age of 13. We do not knowingly collect personally identifiable information from children under 13 years of age. In the case we discover that a child under 13 has provided us with personal information, we will immediately delete this from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact us so that we will be able to take the necessary actions.</p>
<h2>Changes to This Privacy Policy</h2>
<p>We may update our Privacy Policy from time to time. Thus, you are advised to review this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page.</p>
<h2>Privacy Questions</h2>
<p>We may update the Privacy Policy from time to time. When we change the policy in a material way, a notice will be posted on our website along with the updated Privacy Policy.</p>
<p>If you have any questions or concerns about our Privacy Policy or data processing, please contact us: <a href="mailto:saleemjeeta2@gmail.com">saleemjeeta2@gmail.com</a>.</p>
</body>
</html>

View File

@ -0,0 +1,74 @@
package com.lc.myapplication.security.mysoundstwo;
import android.app.Application;
import android.content.Context;
import android.util.ArraySet;
import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.lc.myapplication.security.mysoundstwo.list.SoundsData;
import com.lc.myapplication.security.mysoundstwo.list.SoundsList;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeDatabase;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeEntity;
import com.lc.myapplication.security.mysoundstwo.tool.MyTool;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
public class ScaryPrank extends Application {
private static List<SoundsList> soundslist;
private int i = 0;
@Override
public void onCreate() {
super.onCreate();
MyValue.scaryPrank = this;
try {
InputStream openlist = getAssets().open("prank.json");
String str = MyTool.getCovertStr(openlist);
if (!str.isEmpty()){
Gson gson = new Gson();
soundslist = gson.fromJson(str,new TypeToken<List<SoundsList>>(){
}.getType());
}
} catch (IOException e) {
throw new RuntimeException(e);
}
setentity();
}
private void setentity() {
while (i<soundslist.size()){
Log.d("dhn","-------------fin"+i);
SoundsList list = soundslist.get(i);
List<SoundsData> data = list.getList();
MyTool.RunIO(new Runnable() {
@Override
public void run() {
for (SoundsData datalist : data) {
ScaryPrankLikeEntity entity = new ScaryPrankLikeEntity();
entity.setName(datalist.getTitle());
entity.setImage(datalist.getPreUrl());
entity.setMp3url(datalist.getMp3Url());
entity.setSoundslike(false);
entity.setResource(0);
ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().insertLikeData(entity);
//SecurityLockDataBase.getSecurityLockDataBase().getsecurityLockDAO().InsertSecurityEntity(entityApp);
}
}
});
i++;
}
}
public static List<SoundsList> getList(){
if (soundslist != null){
return soundslist;
}
return soundslist;
}
}

View File

@ -0,0 +1,83 @@
package com.lc.myapplication.security.mysoundstwo.activity;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.lc.myapplication.security.mysoundstwo.R;
import com.lc.myapplication.security.mysoundstwo.adapter.CategoryListAdapter;
import com.lc.myapplication.security.mysoundstwo.list.SoundsList;
import com.lc.myapplication.security.mysoundstwo.value.MySpace;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
public class CategoryActivity extends AppCompatActivity {
private RelativeLayout mian_category;
private SoundsList list;
private TextView category_name;
private ImageView category_back;
private RecyclerView category_recycle;
private String bgcolor;
private int bg;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_category);
gotoFindview();
onMyclick();
setbackground();
gotogetData();
setRecycle();
}
private void gotoFindview() {
mian_category = findViewById(R.id.main_category);
category_name = findViewById(R.id.category_name);
category_name.setTypeface(Typeface.createFromAsset(getAssets(),"myfront1.ttf"));
category_recycle = findViewById(R.id.category_recycle);
category_back = findViewById(R.id.category_back);
}
private void setbackground() {
Window window = getWindow();
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
mian_category.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
}
private void onMyclick() {
category_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
private void gotogetData() {
Intent intent = getIntent();
list = (SoundsList) intent.getSerializableExtra(MyValue.CATEGORY);
assert list != null;
category_name.setText(list.getCategoryName());
bgcolor = intent.getStringExtra(MyValue.COLOR);
bg = Integer.parseInt(bgcolor);
}
private void setRecycle() {
MySpace mySpace = new MySpace(1,20,1);
GridLayoutManager gridLayoutManager = new GridLayoutManager(this,3);
category_recycle.setLayoutManager(gridLayoutManager);
category_recycle.addItemDecoration(mySpace);
CategoryListAdapter categoryListAdapter = new CategoryListAdapter(CategoryActivity.this,list.getList(),bg);
category_recycle.setAdapter(categoryListAdapter);
}
}

View File

@ -0,0 +1,41 @@
package com.lc.myapplication.security.mysoundstwo.activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import androidx.appcompat.app.AppCompatActivity;
import com.lc.myapplication.security.mysoundstwo.R;
public class IntoActivity extends AppCompatActivity {
private CountDownTimer timer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_into);
timer = new CountDownTimer(1000,500) {
@Override
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
startActivity(new Intent(IntoActivity.this, MainActivity.class));
finish();
}
};
gotostart();
}
private void gotostart() {
timer.start();
}
@Override
protected void onDestroy() {
super.onDestroy();
timer.cancel();;
}
}

View File

@ -0,0 +1,75 @@
package com.lc.myapplication.security.mysoundstwo.activity;
import android.os.Bundle;
import android.os.Parcelable;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TableLayout;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.viewpager2.widget.ViewPager2;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.tabs.TabLayoutMediator;
import com.lc.myapplication.security.mysoundstwo.R;
import com.lc.myapplication.security.mysoundstwo.adapter.FragmentAdapter;
public class MainActivity extends AppCompatActivity {
private ViewPager2 main_viewpapre;
private RelativeLayout main_relayout;
private TabLayout main_tablelayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gotofindview();
setbackground();
setViewPaper();
}
private void setbackground() {
Window window = getWindow();
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
main_relayout.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
}
private void setViewPaper() {
main_viewpapre.setAdapter(new FragmentAdapter(this));
TabLayoutMediator tabLayoutMediator = new TabLayoutMediator(main_tablelayout, main_viewpapre, new TabLayoutMediator.TabConfigurationStrategy() {
@Override
public void onConfigureTab(@NonNull TabLayout.Tab tab, int position) {
switch (position) {
case 0:
tab.setIcon(R.drawable.sounds_src);
break;
case 1:
tab.setIcon(R.drawable.add_src);
break;
case 2:
tab.setIcon(R.drawable.win_src);
break;
case 3:
tab.setIcon(R.drawable.like_src);
break;
}
}
});
tabLayoutMediator.attach();
}
private void gotofindview() {
main_relayout = findViewById(R.id.main_relayout);
main_viewpapre = findViewById(R.id.main_viewpaper);
main_tablelayout = findViewById(R.id.main_tablelayout);
}
}

View File

@ -0,0 +1,26 @@
package com.lc.myapplication.security.mysoundstwo.activity;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.webkit.WebView;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.lc.myapplication.security.mysoundstwo.R;
public class PracyActivity extends AppCompatActivity {
private WebView webView;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_pracy);
webView = findViewById(R.id.pracy_webview);
webView.loadUrl("file:///android_asset/privacy.html");
}
}

View File

@ -0,0 +1,269 @@
package com.lc.myapplication.security.mysoundstwo.activity;
import android.content.Intent;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.SeekBar;
import android.widget.TextView;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target;
import com.lc.myapplication.security.mysoundstwo.R;
import com.lc.myapplication.security.mysoundstwo.list.SoundsData;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeDatabase;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeEntity;
import com.lc.myapplication.security.mysoundstwo.tool.MyTool;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
import java.io.File;
import java.io.IOException;
import java.util.Objects;
public class PreviewActivity extends AppCompatActivity {
private ImageView preview_back;
private ImageView preview_image;
private TextView preview_name;
private Button preview_play;
private ImageView preview_like;
private boolean isplay = false;
private String urlmp3;
private ScaryPrankLikeEntity list;
private MediaPlayer mediaPlayer;
private SeekBar preview_seekbar;
private AudioManager audioManager;
private ImageView preview_re_song;
private RelativeLayout preview_main;
private int bg;
private boolean islike = false;
private int c = 0;
private String name;
private String image;
private boolean resongs = false;
private SoundsData listdata;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_preview);
audioManager =(AudioManager)getSystemService(AUDIO_SERVICE);
gotofindview();
setbackground();
gotoGetData();
onMyClick();
}
private void gotofindview(){
preview_main = findViewById(R.id.preview_main);
preview_back = findViewById(R.id.preview_back);
preview_image = findViewById(R.id.preview_image);
preview_name = findViewById(R.id.preview_name);
preview_name.setTypeface(Typeface.createFromAsset(getAssets(),"myfront1.ttf"));
preview_re_song = findViewById(R.id.preview_re_song);
preview_play = findViewById(R.id.preview_play);
preview_like = findViewById(R.id.preview_like);
preview_seekbar = findViewById(R.id.preview_seekbar);
preview_seekbar.setMax(audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC));
//监听进度条滑动事件
preview_seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,progress,0);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
private void setbackground() {
Window window = getWindow();
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
preview_main.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
}
private void onMyClick() {
preview_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
preview_play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isplay){
isplay = false;
preview_play.setBackgroundResource(R.drawable.sounds_play_bg);
if (mediaPlayer != null){
mediaPlayer.release();
mediaPlayer = null;
}
}else {
preview_play.setBackgroundResource(R.drawable.sounds_stop_bg);
mediaPlayer = new MediaPlayer();
try {
mediaPlayer.setDataSource(urlmp3);
} catch (IOException e) {
throw new RuntimeException(e);
}
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
//Log.d("---------","--------finish");
mediaPlayer.start();
}
});
isplay = true;
mediaPlayer.prepareAsync();
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
if (resongs){
mediaPlayer.start();
}else {
mediaPlayer.release();
mediaPlayer = null;
preview_play.setBackgroundResource(R.drawable.sounds_play_bg);
}
}
});
}
}
});
preview_like.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (islike){
islike = false;
preview_like.setBackgroundResource(R.drawable.unlike_bg);
list.setSoundslike(false);
}else {
islike = true;
preview_like.setBackgroundResource(R.drawable.like_bg);
list.setSoundslike(true);
}
MyTool.RunIO(new Runnable() {
@Override
public void run() {
ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().UpdateLikeSounds(list);
}
});
}
});
preview_re_song.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(resongs){
preview_re_song.setBackgroundResource(R.drawable.no_recycle);
resongs = false;
}else {
preview_re_song.setBackgroundResource(R.drawable.recycle_bg);
resongs = true;
}
}
});
}
private void gotoGetData() {
Intent intent = getIntent();
name = intent.getStringExtra(MyValue.DATA_NAME);
//Log.d("dhncatname2","---"+name);
MyTool.RunIO(new Runnable() {
@Override
public void run() {
list = ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().QueryLikeName(name);
runOnUiThread(new Runnable() {
@Override
public void run() {
image = list.getImage();
//Log.d("dhncatname3","---"+list);
//Log.d("dhncatname4","---"+list.getImage());
//Log.d("---------","--------mp3"+image);
if (Objects.equals(list.getResource(), 0)){
// Log.d("----1","--------mp3"+urlmp3);
Glide.with(PreviewActivity.this)
.load(image)
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target<Drawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target<Drawable> target, @NonNull DataSource dataSource, boolean isFirstResource) {
return false;
}
})
.into(preview_image);
}else {
//Log.d("----2","--------mp3"+urlmp3);
preview_image.setBackgroundResource(R.mipmap.creat_image);
}
urlmp3 = list.getMp3url();
//Log.d("---------","--------mp3"+urlmp3);
preview_name.setText(name);
MyTool.RunIO(new Runnable() {
@Override
public void run() {
list = ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().QueryLikeName(name);
}
});
if (list.getSoundslike()){
preview_like.setBackgroundResource(R.drawable.like_bg);
islike = true;
}else {
preview_like.setBackgroundResource(R.drawable.unlike_bg);
islike = false;
}
}
});
}
});
String getbg = intent.getStringExtra(MyValue.DATA_BG);
bg = Integer.parseInt(getbg);
preview_main.setBackgroundResource(bg);
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mediaPlayer != null && mediaPlayer.isPlaying()) {
mediaPlayer.stop();
mediaPlayer.release();
mediaPlayer = null;
}
}
@Override
protected void onResume() {
super.onResume();
gotoGetData();
}
}

View File

@ -0,0 +1,213 @@
package com.lc.myapplication.security.mysoundstwo.activity;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.AppOpsManager;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.media.MediaRecorder;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.Environment;
import android.os.FileUtils;
import android.os.Handler;
import android.os.Message;
import android.provider.Settings;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import androidx.fragment.app.FragmentActivity;
import androidx.room.util.FileUtil;
import com.lc.myapplication.security.mysoundstwo.R;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
import org.xml.sax.ext.DeclHandler;
import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Locale;
public class RecordSoundActivity extends FragmentActivity {
private RelativeLayout recore_button;
private RelativeLayout main_record;
private ImageView record_back;
private TextView record_text_time;
private boolean isrecord = false;
private MediaRecorder mediaRecorder;
private String filename;
int timeCount;
Thread timeThread;
final int TIME_COUNT = 0x101;
private File androidfile;
private int count;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_record_sound);
main_record = findViewById(R.id.main_record);
setbackground();
record_back = findViewById(R.id.record_back);
record_text_time = findViewById(R.id.record_text_time);
recore_button = findViewById(R.id.record_button);
onMyClick();
}
private void setbackground() {
Window window = getWindow();
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
main_record.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
}
private void onMyClick() {
record_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
recore_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isrecord) {
stopRecordAudio();
} else {
startRecord();
}
}
});
}
private void stopRecordAudio() {
if (mediaRecorder != null) {
try {
mediaRecorder.stop();//停止录音
mediaRecorder.release();//释放
String name = androidfile.getAbsolutePath();
String time = FormatMiss(count);
//Log.d("time","time"+time);
Intent intent = new Intent(this, SetNameActivity.class);
//Log.d("-----name","name"+name);
intent.putExtra(MyValue.MP3URL,name);
intent.putExtra(MyValue.TIME, time);
//intent.putExtra(MyValue.DATA_TYPE,"LOAD");
startActivity(intent);
finish();
mediaRecorder = null;//置空
} catch (Exception exception) {
mediaRecorder.reset();
mediaRecorder.release();
mediaRecorder = null;
}
}
recore_button.setBackgroundResource(R.drawable.record_play_src);
isrecord = false;
}
@SuppressLint("NewApi")
private void startRecord() {
isrecord = true;
recore_button.setBackgroundResource(R.drawable.record_stop_src);
File filepath = this.getCacheDir(); //声明存储路径用绝对路径什么都可以
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd_HH_mm_ss");// HH:mm:ss
//获取当前时间
Date date = new Date(System.currentTimeMillis());
filename = simpleDateFormat.format(date);
androidfile = new File(filepath, filename+"RADIO.mp3");
if (mediaRecorder == null) {
mediaRecorder = new MediaRecorder();
}
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);//设置麦克风
//Log.d("pathfile1", "pathfile" + androidfile);
/*
设置保存输出文件的格式THREE_GPP/MPEG-4/RAW_AMR/Default THREE_GPP(3gp格式H263视频/ARM音频编码)MPEG-4RAW_AMR(只支持音频且音频编码要求为AMR_NB)
*/
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);//文件编码格式
//设置音频文件的存储方式
if(Build.VERSION.SDK_INT < 26){
//若api低于26调用setOutputFile(String path)
mediaRecorder.setOutputFile(androidfile.getAbsolutePath());//返回文件的绝对路径
}else {
//若API高于26 使用setOutputFile(File path)
mediaRecorder.setOutputFile(androidfile);
}
try {
mediaRecorder.prepare();
mediaRecorder.start();
timeThread = new Thread(new Runnable() {
@Override
public void run() {
countTime();
}
});
timeThread.start();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
private void countTime() {
while (isrecord) {
//LogUtil.d("正在录音");
timeCount++;
Message msg = Message.obtain();
msg.what = TIME_COUNT;
msg.obj = timeCount;
myHandler.sendMessage(msg);
try {
timeThread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
//LogUtil.d("结束录音");
timeCount = 0;
Message msg = Message.obtain();
msg.what = TIME_COUNT;
msg.obj = timeCount;
myHandler.sendMessage(msg);
}
public static String FormatMiss(int miss) {
String hh = miss / 3600 > 9 ? miss / 3600 + "" : "0" + miss / 3600;
String mm = (miss % 3600) / 60 > 9 ? (miss % 3600) / 60 + "" : "0" + (miss % 3600) / 60;
String ss = (miss % 3600) % 60 > 9 ? (miss % 3600) % 60 + "" : "0" + (miss % 3600) % 60;
return hh + ":" + mm + ":" + ss;
}
Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case TIME_COUNT:
count = (int) msg.obj;
//LogUtil.d("count == " + count);
record_text_time.setText(FormatMiss(count));
break;
}
}
};
}

View File

@ -0,0 +1,193 @@
package com.lc.myapplication.security.mysoundstwo.activity;
import android.annotation.SuppressLint;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.lc.myapplication.security.mysoundstwo.R;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeDatabase;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeEntity;
import com.lc.myapplication.security.mysoundstwo.tool.MyTool;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Objects;
public class SetNameActivity extends AppCompatActivity {
private MediaPlayer mediaPlayer;
private String path;
private String mp3url;
private Uri localmp3uri;
private String type;
private EditText set_name;
private RelativeLayout mian_setname;
private Button set_name_play;
private boolean isplay = false;
private RelativeLayout save_name;
private String name;
private String time;
private ScaryPrankLikeEntity scaryPrankLikeEntity;
private int c = 1;
private ScaryPrankLikeEntity exitname;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_set_name);
mian_setname = findViewById(R.id.main_setname);
setbackground();
set_name = findViewById(R.id.set_name);
set_name_play = findViewById(R.id.set_name_play);
save_name = findViewById(R.id.save_name);
getData();
OnMyClick();
}
private void setbackground() {
Window window = getWindow();
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
mian_setname.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
}
private void OnMyClick() {
set_name_play.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (isplay){
isplay = false;
set_name_play.setBackgroundResource(R.drawable.record_play_src);
if (mediaPlayer != null){
mediaPlayer.release();
mediaPlayer = null;
}
}else {
set_name_play.setBackgroundResource(R.drawable.record_stop_src);
mediaPlayer = new MediaPlayer();
if (Objects.equals(type, "LOCAL")){
try {
mediaPlayer.setDataSource(path);
} catch (IOException e) {
throw new RuntimeException(e);
}
}else {
try {
mediaPlayer.setDataSource(mp3url);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mediaPlayer.start();
}
});
isplay = true;
mediaPlayer.prepareAsync();
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
set_name_play.setBackgroundResource(R.drawable.record_play_src);
}
});
}
}
});
save_name.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(SetNameActivity.this,getString(R.string.save_name_wait),Toast.LENGTH_SHORT).show();
name = set_name.getText().toString();
MyTool.RunIO(new Runnable() {
@Override
public void run() {
exitname = ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().QueryLikeName(name);
runOnUiThread(new Runnable() {
@Override
public void run() {
if (exitname == null){
setEntity();
MyTool.RunIO(new Runnable() {
@Override
public void run() {
ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().insertLikeData(scaryPrankLikeEntity);
}
});
Toast.makeText(SetNameActivity.this,getString(R.string.save_name_success),Toast.LENGTH_LONG).show();
finish();
}else {
Toast.makeText(SetNameActivity.this,getString(R.string.name_exit),Toast.LENGTH_LONG).show();
}
}
});
}
});
}
});
}
private void setEntity() {
scaryPrankLikeEntity = new ScaryPrankLikeEntity();
scaryPrankLikeEntity.setName(name);
if (Objects.equals(type, "LOCAL")) {
scaryPrankLikeEntity.setMp3url(path);
}else {
scaryPrankLikeEntity.setMp3url(mp3url);
}
scaryPrankLikeEntity.setSoundslike(false);
scaryPrankLikeEntity.setResource(c);
scaryPrankLikeEntity.setTime(time);
}
private void getData() {
Intent intent = getIntent();
type = intent.getStringExtra(MyValue.DATA_TYPE);
mp3url = intent.getStringExtra(MyValue.MP3URL);
time = intent.getStringExtra(MyValue.TIME);
if (Objects.equals(type, "LOCAL")) {
path = gotoGetsource(this,mp3url);
}
}
private String gotoGetsource(Context context,String mp3urlpath) {
Uri uripath = Uri.parse(mp3urlpath);
ContentResolver contentResolver = context.getContentResolver();//ContentResolver是用于操作数据与此对应的是ContentProdiver
try {
InputStream fst = contentResolver.openInputStream(uripath);
FileOutputStream fileOutputStream = new FileOutputStream(new File(getCacheDir(),"local_music.mp3"));
if (fst == null){
return null;
}
byte[] butter = new byte[1024];
int n;
while((n = fst.read(butter)) != -1) {
fileOutputStream.write(butter,0,n);
}
return new File(getCacheDir(),"local_music.mp3").getAbsolutePath();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}

View File

@ -0,0 +1,96 @@
package com.lc.myapplication.security.mysoundstwo.activity;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.graphics.Typeface;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.lc.myapplication.security.mysoundstwo.R;
public class SettingActivity extends AppCompatActivity {
private RelativeLayout set_pravicy;
private RelativeLayout main_setting;
private RelativeLayout set_share;
private RelativeLayout set_grade;
private RelativeLayout set_version;
private ImageView image_back;
private TextView set_title;
private WebView webView;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setting);
main_setting = findViewById(R.id.main_setting);
setbackground();
set_title = findViewById(R.id.set_title);
set_title.setTypeface(Typeface.createFromAsset(getAssets(),"myfront1.ttf"));
set_pravicy = findViewById(R.id.set_privacy);
set_share = findViewById(R.id.set_share);
set_grade = findViewById(R.id.set_grade);
set_version = findViewById(R.id.set_version);
image_back = findViewById(R.id.image_back);
image_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
set_pravicy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(SettingActivity.this,PracyActivity.class);
startActivity(intent);
}
});
set_share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
shareAPP();
}
});
set_version.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(SettingActivity.this,getString(R.string.app_version)+"V1.0.0",Toast.LENGTH_LONG).show();
}
});
set_grade.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String url = getString(R.string.share_app);
Intent intent2 = new Intent(Intent.ACTION_VIEW);
intent2.setData(Uri.parse(url));
startActivity(intent2);
}
});
}
private void setbackground() {
Window window = getWindow();
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
main_setting.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION);
}
public void shareAPP() {
Intent sharedIntent = new Intent();
sharedIntent.setAction(Intent.ACTION_SEND);
sharedIntent.setType("text/*");
sharedIntent.putExtra(Intent.EXTRA_TEXT, getString(R.string.share_app)); //设置要分享的内容
startActivity(Intent.createChooser(sharedIntent, "Share"));
}
}

View File

@ -0,0 +1,93 @@
package com.lc.myapplication.security.mysoundstwo.adapter;
import android.content.Context;
import android.content.Intent;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target;
import com.lc.myapplication.security.mysoundstwo.activity.PreviewActivity;
import com.lc.myapplication.security.mysoundstwo.databinding.CategoryRecycleBinding;
import com.lc.myapplication.security.mysoundstwo.list.SoundsData;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeDatabase;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeEntity;
import com.lc.myapplication.security.mysoundstwo.tool.MyTool;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
import java.util.List;
public class CategoryListAdapter extends RecyclerView.Adapter<CategoryListAdapter.CategoryVH> {
private Context mycon;
private List<SoundsData> mylist;
private int bgcolor;
private ScaryPrankLikeEntity entity;
public CategoryListAdapter(Context context,List<SoundsData> list,int bg){
mycon = context;
mylist = list;
bgcolor = bg;
}
@NonNull
@Override
public CategoryVH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
CategoryRecycleBinding categoryRecycleBinding = CategoryRecycleBinding.inflate(LayoutInflater.from(mycon),parent,false);
return new CategoryVH(categoryRecycleBinding);
}
@Override
public void onBindViewHolder(@NonNull CategoryVH holder, int position) {
SoundsData datalist = mylist.get(position);
holder.recycleBinding.categorySoundsText.setText(datalist.getTitle());
holder.recycleBinding.categorySoundsText.setTypeface(Typeface.createFromAsset(mycon.getAssets(),"myfront1.ttf"));
Glide.with(mycon)
.load(datalist.getPreUrl())
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target<Drawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target<Drawable> target, @NonNull DataSource dataSource, boolean isFirstResource) {
return false;
}
})
.into(holder.recycleBinding.categorySoundsImage);
holder.recycleBinding.categoryBg.setBackgroundResource(bgcolor);
String putbg = String.valueOf(bgcolor);
holder.recycleBinding.categoryLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mycon, PreviewActivity.class);
intent.putExtra(MyValue.DATA_NAME,datalist.getTitle());
Log.d("dhncatname1","---"+datalist.getTitle());
intent.putExtra(MyValue.DATA_BG,putbg);
mycon.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return mylist.size();
}
public class CategoryVH extends RecyclerView.ViewHolder {
private CategoryRecycleBinding recycleBinding;
public CategoryVH(CategoryRecycleBinding categoryRecycleBinding) {
super(categoryRecycleBinding.getRoot());
recycleBinding = categoryRecycleBinding;
}
}
}

View File

@ -0,0 +1,118 @@
package com.lc.myapplication.security.mysoundstwo.adapter;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target;
import com.lc.myapplication.security.mysoundstwo.R;
import com.lc.myapplication.security.mysoundstwo.activity.PreviewActivity;
import com.lc.myapplication.security.mysoundstwo.databinding.FavRecycleBinding;
import com.lc.myapplication.security.mysoundstwo.databinding.RadioRecycleBinding;
import com.lc.myapplication.security.mysoundstwo.fragment.FavoriteFragment;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeEntity;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
import java.util.List;
public class FavouriteAdapter extends RecyclerView.Adapter<FavouriteAdapter.FavVh>{
private List<ScaryPrankLikeEntity> scaryPrankLikeEntity;
private int c = 1;
private int[] bgswitch;
private int i=0;
int bg;
private Activity myac;
public FavouriteAdapter(Activity activity, List<ScaryPrankLikeEntity> entities){
myac = activity;
scaryPrankLikeEntity = entities;
}
@NonNull
@Override
public FavVh onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
FavRecycleBinding favRecycleBinding = FavRecycleBinding.inflate(LayoutInflater.from(parent.getContext()),parent,false);
return new FavVh(favRecycleBinding);
}
@Override
public void onBindViewHolder(@NonNull FavVh holder, int position) {
ScaryPrankLikeEntity entity = scaryPrankLikeEntity.get(position);
holder.favRecycleBinding.favName.setText(entity.getName());
holder.favRecycleBinding.favName.setTypeface(Typeface.createFromAsset(myac.getAssets(),"myfront.ttf"));
if (entity.getResource() == c){
holder.favRecycleBinding.favImage.setBackgroundResource(R.mipmap.creat_image);
String image = String.valueOf(R.mipmap.creat_image);
entity.setImage(image);
}else {
Glide.with(myac)
.load(entity.getImage())
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target<Drawable> target, boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target<Drawable> target, @NonNull DataSource dataSource, boolean isFirstResource) {
return false;
}
})
.into(holder.favRecycleBinding.favImage);
}
int swbg = gotoswitchbg(gotocolor());
String putbg = String.valueOf(swbg);
holder.favRecycleBinding.favImageBg.setBackgroundResource(swbg);
holder.favRecycleBinding.favLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(myac, PreviewActivity.class);
intent.putExtra(MyValue.DATA_NAME,entity.getName());
intent.putExtra(MyValue.DATA_BG,putbg);
myac.startActivity(intent);
}
});
}
private int gotoswitchbg(int[] gotoswitch) {
if(i>=gotoswitch.length){
i = 0;
}
bg = gotoswitch[i];
i++;
return bg;
}
private int[] gotocolor() {
bgswitch = new int[6];
bgswitch[0] = R.color.sounds_yellow_bg;
bgswitch[1] = R.color.sounds_poupur_bg;
bgswitch[2] = R.color.sounds_green_bg;
bgswitch[3] = R.color.sounds_organge_bg;
bgswitch[4] = R.color.sounds_pink_bg;
bgswitch[5] = R.color.sounds_blue_bg;
return bgswitch;
}
@Override
public int getItemCount() {
return scaryPrankLikeEntity.size();
}
public class FavVh extends RecyclerView.ViewHolder {
private FavRecycleBinding favRecycleBinding;
public FavVh(@NonNull FavRecycleBinding fb) {
super(fb.getRoot());
favRecycleBinding = fb;
}
}
}

View File

@ -0,0 +1,37 @@
package com.lc.myapplication.security.mysoundstwo.adapter;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentActivity;
import androidx.viewpager2.adapter.FragmentStateAdapter;
import com.lc.myapplication.security.mysoundstwo.fragment.FavoriteFragment;
import com.lc.myapplication.security.mysoundstwo.fragment.RadioFragment;
import com.lc.myapplication.security.mysoundstwo.fragment.SoundsFragment;
import com.lc.myapplication.security.mysoundstwo.fragment.WinFragment;
public class FragmentAdapter extends FragmentStateAdapter {
public FragmentAdapter(@NonNull FragmentActivity fragmentActivity) {
super(fragmentActivity);
}
@NonNull
@Override
public Fragment createFragment(int position) {
switch (position){
case 0:
return new SoundsFragment();
case 1:
return new RadioFragment();
case 2:
return new WinFragment();
default:
return new FavoriteFragment();
}
}
@Override
public int getItemCount() {
return 4;
}
}

View File

@ -0,0 +1,122 @@
package com.lc.myapplication.security.mysoundstwo.adapter;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Typeface;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.lc.myapplication.security.mysoundstwo.R;
import com.lc.myapplication.security.mysoundstwo.activity.PreviewActivity;
import com.lc.myapplication.security.mysoundstwo.databinding.RadioRecycleBinding;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeDatabase;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeEntity;
import com.lc.myapplication.security.mysoundstwo.tool.MyTool;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
import java.util.List;
public class RadioAdapter extends RecyclerView.Adapter<RadioAdapter.RadioVH> {
private List<ScaryPrankLikeEntity> scaryPrankLikeEntity;
private boolean islike;
private Activity myac;
private boolean isdelete;
public RadioAdapter(Activity activity,List<ScaryPrankLikeEntity> entities,boolean delete){
myac = activity;
scaryPrankLikeEntity = entities;
isdelete = delete;
}
@NonNull
@Override
public RadioVH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
RadioRecycleBinding radioRecycleBinding = RadioRecycleBinding.inflate(LayoutInflater.from(parent.getContext()),parent,false);
return new RadioVH(radioRecycleBinding);
}
@Override
public void onBindViewHolder(@NonNull RadioVH holder, int position) {
ScaryPrankLikeEntity entity = scaryPrankLikeEntity.get(position);
holder.radioRecycleBinding.radioViewName.setText(entity.getName());
holder.radioRecycleBinding.radioViewImage.setBackgroundResource(R.mipmap.creat_image);
String image = String.valueOf(R.mipmap.creat_image);
entity.setImage(image);
// Log.d("gettime","-----------"+entity.getTime());
holder.radioRecycleBinding.radioViewTime.setText(entity.getTime());
islike = entity.getSoundslike();
if (islike){
holder.radioRecycleBinding.radioViewLike.setBackgroundResource(R.drawable.like_bg);
}else {
holder.radioRecycleBinding.radioViewLike.setBackgroundResource(R.drawable.unlike_bg);
}
//Log.d("like1","lie"+entity.getSoundslike());
holder.radioRecycleBinding.radioViewLike.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(!islike){
holder.radioRecycleBinding.radioViewLike.setBackgroundResource(R.drawable.like_bg);
entity.setSoundslike(!islike);
islike = true;
//Log.d("like2","lie"+entity.getSoundslike());
}else {
holder.radioRecycleBinding.radioViewLike.setBackgroundResource(R.drawable.unlike_bg);
islike = false;
entity.setSoundslike(islike);
//Log.d("like2","lie"+entity.getSoundslike());
}
MyTool.RunIO(new Runnable() {
@Override
public void run() {
ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().UpdateLikeSounds(entity);
}
});
}
});
if (isdelete){
holder.radioRecycleBinding.radioViewDelete.setVisibility(View.VISIBLE);
holder.radioRecycleBinding.radioViewDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MyTool.RunIO(new Runnable() {
@Override
public void run() {
ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().deletelike(entity.getName());
Toast.makeText(myac,"Delete success",Toast.LENGTH_LONG).show();
}
});
}
});
}
String bg = String.valueOf(R.color.white);
holder.radioRecycleBinding.radioViewLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(myac, PreviewActivity.class);
intent.putExtra(MyValue.DATA_NAME,entity.getName());
intent.putExtra(MyValue.DATA_URLMP3,entity.getMp3url());
intent.putExtra(MyValue.DATA_BG,bg);
intent.putExtra(MyValue.DATA_IMAGE,"c");
myac.startActivity(intent);
//Log.d("mentityp","-----------fin"+entity.getImage());
}
});
}
@Override
public int getItemCount() {
return scaryPrankLikeEntity.size();
}
public class RadioVH extends RecyclerView.ViewHolder {
private RadioRecycleBinding radioRecycleBinding;
public RadioVH(@NonNull RadioRecycleBinding rb) {
super(rb.getRoot());
radioRecycleBinding = rb;
}
}
}

View File

@ -0,0 +1,165 @@
package com.lc.myapplication.security.mysoundstwo.adapter;
import android.content.Context;
import android.content.Intent;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.cardview.widget.CardView;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target;
import com.lc.myapplication.security.mysoundstwo.R;
import com.lc.myapplication.security.mysoundstwo.activity.CategoryActivity;
import com.lc.myapplication.security.mysoundstwo.list.SoundsList;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
import java.util.List;
import java.util.Random;
public class SoundsListAdapter extends RecyclerView.Adapter<SoundsListAdapter.SoundsVH> {
private Context mycontext;
private List<SoundsList> mylist;
private int[] bgswitch;
private int[] bgswitch1;
private int i = 0;
int bg;
public SoundsListAdapter(Context context, List<SoundsList> list) {
mycontext = context;
mylist = list;
bgswitch1 = new int[6];
bgswitch1[0] = R.mipmap.sounds_yellow_bg;
bgswitch1[1] = R.mipmap.sounds_popur_bg;
bgswitch1[2] = R.mipmap.sounds_green_bg;
bgswitch1[3] = R.mipmap.sounds_red_bg;
bgswitch1[4] = R.mipmap.sounds_pink_bg;
bgswitch1[5] = R.mipmap.sounds_littlegreen_bg;
}
@NonNull
@Override
public SoundsVH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(mycontext).inflate(R.layout.fra_recycle_sounds, parent, false);
return new SoundsVH(view);
}
@Override
public void onBindViewHolder(@NonNull SoundsVH holder, int position) {
SoundsList sounds = mylist.get(position);
holder.getRe_sounds_text().setText(sounds.getCategoryName());
holder.getRe_sounds_text().setTypeface(Typeface.createFromAsset(mycontext.getAssets(), "myfront1.ttf"));
Log.d("--", "----" + sounds.getCategoryUrl());
Glide.with(mycontext)
.load(sounds.getCategoryUrl())
.transform(new RoundedCorners(90))
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target<Drawable> target, boolean isFirstResource) {
//Log.e(MBrManager.TAG, "onLoadFailed-----------------categorylist.getCategoryUrl()=---"+categorylist.getCategoryUrl()+"---------e="+e.getMessage());
return false;
}
@Override
public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target<Drawable> target, @NonNull DataSource dataSource, boolean isFirstResource) {
return false;
}
})
.into(holder.getRe_sounds_image());
int a = position % 6;
int randombg = gotorandom(gotocolor());
//Log.d("color", "color" + randombg);
String putbg = String.valueOf(randombg);
holder.getRe_sounds_bg().setBackgroundResource(bgswitch1[a]);
holder.getRe_sounds_layout().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mycontext, CategoryActivity.class);
intent.putExtra(MyValue.CATEGORY, sounds);
intent.putExtra(MyValue.COLOR, putbg);
mycontext.startActivity(intent);
}
});
}
private int gotorandom(int[] gotocolor) {
int[] array = {0, 1, 2, 3, 4, 5};
Random rand = new Random(); // 创建 Random 对象
int randomIndex = rand.nextInt(gotocolor.length); // 生成随机索引
int randomValue = array[randomIndex]; // 获取随机值
return gotocolor[randomValue];
}
private int gotoswitchbg(int[] gotoswitch) {
if (i >= gotoswitch.length) {
i = 0;
}
bg = gotoswitch[i % 6];
i++;
return bg;
}
private int[] gotocolor() {
bgswitch = new int[6];
bgswitch[0] = R.color.sounds_yellow_bg;
bgswitch[1] = R.color.sounds_poupur_bg;
bgswitch[2] = R.color.sounds_green_bg;
bgswitch[3] = R.color.sounds_organge_bg;
bgswitch[4] = R.color.sounds_pink_bg;
bgswitch[5] = R.color.sounds_blue_bg;
return bgswitch;
}
@Override
public int getItemCount() {
return mylist.size();
}
public class SoundsVH extends RecyclerView.ViewHolder {
private ImageView re_sounds_image;
private TextView re_sounds_text;
private ImageView re_sounds_bg;
private FrameLayout re_sounds_layout;
public SoundsVH(@NonNull View itemView) {
super(itemView);
re_sounds_image = itemView.findViewById(R.id.re_sounds_image);
re_sounds_text = itemView.findViewById(R.id.re_sounds_text);
re_sounds_bg = itemView.findViewById(R.id.re_sounds_bg);
re_sounds_layout = itemView.findViewById(R.id.re_sounds_layout);
}
public ImageView getRe_sounds_image() {
return re_sounds_image;
}
public TextView getRe_sounds_text() {
return re_sounds_text;
}
public ImageView getRe_sounds_bg() {
return re_sounds_bg;
}
public FrameLayout getRe_sounds_layout() {
return re_sounds_layout;
}
}
}

View File

@ -0,0 +1,127 @@
package com.lc.myapplication.security.mysoundstwo.adapter;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target;
import com.lc.myapplication.security.mysoundstwo.R;
import com.lc.myapplication.security.mysoundstwo.activity.PreviewActivity;
import com.lc.myapplication.security.mysoundstwo.databinding.WinRecycleBinding;
import com.lc.myapplication.security.mysoundstwo.list.SoundsData;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeDatabase;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeEntity;
import com.lc.myapplication.security.mysoundstwo.tool.MyTool;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
import java.util.List;
public class WinAdapter extends RecyclerView.Adapter<WinAdapter.WinVH> {
private Context mycon;
private String[] number = new String[]{"4","5","6","7","8","9","10"};
private List<ScaryPrankLikeEntity> dataList;
private ScaryPrankLikeEntity list;
private boolean islike;
private int c = 0;
public WinAdapter(Activity activity, List<ScaryPrankLikeEntity> data){
mycon = activity;
dataList = data;
}
@NonNull
@Override
public WinVH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
WinRecycleBinding winRecycleBinding = WinRecycleBinding.inflate(LayoutInflater.from(mycon),parent,false);
return new WinVH(winRecycleBinding);
}
@Override
public void onBindViewHolder(@NonNull WinVH holder, int position) {
String numtext = number[position];
ScaryPrankLikeEntity data = dataList.get(position);
holder.winBinding.winReNum.setText(numtext);
String putbg = String.valueOf(R.color.sounds_poupur_bg);
holder.winBinding.winReNum.setTypeface(Typeface.createFromAsset(mycon.getAssets(),"myfront1.ttf"));
holder.winBinding.winReName.setText(data.getName());
holder.winBinding.winReName.setTypeface(Typeface.createFromAsset(mycon.getAssets(),"myfront.ttf"));
Glide.with(mycon)
.load(data.getImage())
.transform(new RoundedCorners(90))
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target<Drawable> target, boolean isFirstResource) {
//Log.e(MBrManager.TAG, "onLoadFailed-----------------categorylist.getCategoryUrl()=---"+categorylist.getCategoryUrl()+"---------e="+e.getMessage());
return false;
}
@Override
public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target<Drawable> target, @NonNull DataSource dataSource, boolean isFirstResource) {
return false;
}
})
.into(holder.winBinding.winReImage);
islike = data.getSoundslike();
if (islike){
holder.winBinding.winReLike.setBackgroundResource(R.drawable.win_like);
}else {
holder.winBinding.winReLike.setBackgroundResource(R.drawable.win_unlike);
}
holder.winBinding.winReLike.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (islike){
holder.winBinding.winReLike.setBackgroundResource(R.drawable.win_unlike);
data.setSoundslike(false);
islike = false;
}else {
islike = true;
holder.winBinding.winReLike.setBackgroundResource(R.drawable.win_like);
data.setSoundslike(true);
}
MyTool.RunIO(new Runnable() {
@Override
public void run() {
ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().UpdateLikeSounds(data);
}
});
}
});
holder.winBinding.winRecycleLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(mycon, PreviewActivity.class);
intent.putExtra(MyValue.DATA_NAME,data.getName());
intent.putExtra(MyValue.DATA_BG,putbg);
mycon.startActivity(intent);
}
});
}
@Override
public int getItemCount() {
return dataList.size();
}
public class WinVH extends RecyclerView.ViewHolder {
private WinRecycleBinding winBinding;
public WinVH(@NonNull WinRecycleBinding itemView) {
super(itemView.getRoot());
winBinding = itemView;
}
}
}

View File

@ -0,0 +1,73 @@
package com.lc.myapplication.security.mysoundstwo.fragment;
import android.graphics.Typeface;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.lc.myapplication.security.mysoundstwo.R;
import com.lc.myapplication.security.mysoundstwo.adapter.FavouriteAdapter;
import com.lc.myapplication.security.mysoundstwo.adapter.RadioAdapter;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeDatabase;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeEntity;
import com.lc.myapplication.security.mysoundstwo.tool.MyTool;
import java.util.List;
public class FavoriteFragment extends Fragment {
private ImageView fav_null;
private RecyclerView fav_recycle;
private List<ScaryPrankLikeEntity> list;
private boolean islike = true;
private TextView fav_title;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_favorite, container, false);
fav_null = view.findViewById(R.id.fav_null_img);
fav_title = view.findViewById(R.id.fav_title);
fav_title.setTypeface(Typeface.createFromAsset(getActivity().getAssets(),"myfront1.ttf"));
fav_recycle = view.findViewById(R.id.fav_recycle);
setRecycle();
return view;
}
private void setRecycle() {
MyTool.RunIO(new Runnable() {
@Override
public void run() {
list = ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().getLike(islike);
requireActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
if (!list.isEmpty()){
fav_null.setVisibility(View.GONE);
FavouriteAdapter favouriteAdapter = new FavouriteAdapter(getActivity(),list);
fav_recycle.setAdapter(favouriteAdapter);
fav_recycle.setLayoutManager(new GridLayoutManager(getContext(),1));
}else {
fav_null.setVisibility(View.VISIBLE);
}
}
});
}
});
}
@Override
public void onResume() {
super.onResume();
setRecycle();
}
}

View File

@ -0,0 +1,206 @@
package com.lc.myapplication.security.mysoundstwo.fragment;
import static android.app.Activity.RESULT_OK;
import android.Manifest;
import android.annotation.SuppressLint;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.database.Cursor;
import android.graphics.Typeface;
import android.graphics.drawable.ColorDrawable;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.provider.Settings;
import android.util.Log;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.lc.myapplication.security.mysoundstwo.R;
import com.lc.myapplication.security.mysoundstwo.ScaryPrank;
import com.lc.myapplication.security.mysoundstwo.activity.PreviewActivity;
import com.lc.myapplication.security.mysoundstwo.activity.RecordSoundActivity;
import com.lc.myapplication.security.mysoundstwo.activity.SetNameActivity;
import com.lc.myapplication.security.mysoundstwo.adapter.RadioAdapter;
import com.lc.myapplication.security.mysoundstwo.adapter.SoundsListAdapter;
import com.lc.myapplication.security.mysoundstwo.databinding.FragmentRadioBinding;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeDatabase;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeEntity;
import com.lc.myapplication.security.mysoundstwo.tool.MyTool;
import com.lc.myapplication.security.mysoundstwo.value.MySpace;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
import java.io.IOException;
import java.util.List;
public class RadioFragment extends Fragment {
private List<ScaryPrankLikeEntity> list;
private int c = 1;
private boolean isdelete = false;
private int REQUEST_CODE_AUDIO_FILE=1;
private Dialog dialog;
FragmentRadioBinding binding;
private MediaPlayer mediaPlayer;
@SuppressLint("MissingInflatedId")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
binding = FragmentRadioBinding.inflate(inflater,container,false);
binding.radioTitle.setTypeface(Typeface.createFromAsset(getActivity().getAssets(),"myfront1.ttf"));
binding.addText.setTypeface(Typeface.createFromAsset(getContext().getAssets(), "myfront2.ttf"));
binding.radioDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
isdelete = true;
setRecycle();
}
});
binding.radioAdds.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
checkPermission();
}
});
setRecycle();
return binding.getRoot();
}
private void showdialog() {
dialog = new Dialog(requireContext());
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.add_sounds_dialog);
dialog.setCancelable(true);
dialog.getWindow().setGravity(Gravity.BOTTOM);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
dialog.findViewById(R.id.dialog_import).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("audio/*");
startActivityForResult(Intent.createChooser(intent,"choose music file"),REQUEST_CODE_AUDIO_FILE);
dialog.cancel();
}
});
dialog.findViewById(R.id.dialog_create).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getContext(), RecordSoundActivity.class);
getContext().startActivity(intent);
dialog.cancel();
}
});
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
lp.copyFrom(dialog.getWindow().getAttributes());
lp.width = WindowManager.LayoutParams.MATCH_PARENT;
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
dialog.show();
dialog.getWindow().setAttributes(lp);
}
private void setRecycle() {
MyTool.RunIO(new Runnable() {
@Override
public void run() {
list = ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().queryreource(c);
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
RadioAdapter radioAdapter = new RadioAdapter(getActivity(),list,isdelete);
binding.radioRecycle.setAdapter(radioAdapter);
binding.radioRecycle.setLayoutManager(new GridLayoutManager(getActivity(),1));
}
});
}
});
}
@Override
public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
Log.d("uri","url--"+resultCode);
if (resultCode == RESULT_OK && requestCode == 200) {
checkPermission();
}
if (requestCode == REQUEST_CODE_AUDIO_FILE && resultCode == RESULT_OK){
if (data != null){
Uri androidurl = data.getData();
if (androidurl != null){
String url = String.valueOf(androidurl);
Intent intent = new Intent(getContext(), SetNameActivity.class);
intent.putExtra(MyValue.DATA_TYPE,"LOCAL");
intent.putExtra(MyValue.MP3URL,url);
intent.putExtra(MyValue.TIME,"local music ");
getContext().startActivity(intent);
}
}
}
}
private void checkPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
String[] permissions = new String[]{Manifest.permission.RECORD_AUDIO, Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE};
for (String permission : permissions) {
if (ContextCompat.checkSelfPermission(getActivity(), permission) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(getActivity(), permissions, 200);
return;
}
}
showdialog();
} else {
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[]
grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && requestCode == 200) {
for (int i = 0; i < permissions.length; i++) {
if (grantResults[i] != PackageManager.PERMISSION_GRANTED) {
Intent intent = new Intent();
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
Uri uri = Uri.fromParts("package", getActivity().getPackageName(), null);
intent.setData(uri);
startActivityForResult(intent, 200);
return;
}
}
}
}
@Override
public void onResume() {
super.onResume();
setRecycle();
isdelete = false;
}
}

View File

@ -0,0 +1,56 @@
package com.lc.myapplication.security.mysoundstwo.fragment;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.lc.myapplication.security.mysoundstwo.R;
import com.lc.myapplication.security.mysoundstwo.ScaryPrank;
import com.lc.myapplication.security.mysoundstwo.activity.SettingActivity;
import com.lc.myapplication.security.mysoundstwo.adapter.SoundsListAdapter;
import com.lc.myapplication.security.mysoundstwo.value.MySpace;
public class SoundsFragment extends Fragment {
private TextView sounds_title;
private RecyclerView recyclerView_sounds;
private ImageView main_image_set;
@SuppressLint("MissingInflatedId")
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_sounds, container, false);
recyclerView_sounds = view.findViewById(R.id.fra_recycle_sounds);
sounds_title = view.findViewById(R.id.sounds_title);
sounds_title.setTypeface(Typeface.createFromAsset(getActivity().getAssets(),"myfront1.ttf"));
main_image_set = view.findViewById(R.id.main_image_set);
main_image_set.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(getContext(), SettingActivity.class);
startActivity(intent);
}
});
setRecycleSounds();
return view;
}
private void setRecycleSounds() {
MySpace mySpace = new MySpace(1,20,1);
GridLayoutManager gridLayoutManager = new GridLayoutManager(getActivity(), 2);
recyclerView_sounds.setLayoutManager(gridLayoutManager);
recyclerView_sounds.addItemDecoration(mySpace);
SoundsListAdapter soundsAdapter = new SoundsListAdapter(getActivity(), ScaryPrank.getList());
recyclerView_sounds.setAdapter(soundsAdapter);
}
}

View File

@ -0,0 +1,261 @@
package com.lc.myapplication.security.mysoundstwo.fragment;
import android.content.Intent;
import android.graphics.Typeface;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.bumptech.glide.load.DataSource;
import com.bumptech.glide.load.engine.GlideException;
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.bumptech.glide.request.RequestListener;
import com.bumptech.glide.request.target.Target;
import com.lc.myapplication.security.mysoundstwo.R;
import com.lc.myapplication.security.mysoundstwo.ScaryPrank;
import com.lc.myapplication.security.mysoundstwo.activity.PreviewActivity;
import com.lc.myapplication.security.mysoundstwo.adapter.FavouriteAdapter;
import com.lc.myapplication.security.mysoundstwo.adapter.WinAdapter;
import com.lc.myapplication.security.mysoundstwo.databinding.FragmentWinBinding;
import com.lc.myapplication.security.mysoundstwo.list.SoundsData;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeDatabase;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeEntity;
import com.lc.myapplication.security.mysoundstwo.tool.MyTool;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
import java.util.List;
public class WinFragment extends Fragment {
private TextView win_title;
private int c = 0;
private RecyclerView win_recycle;
private ImageView win_one_image;
private ImageView win_two_image;
private ImageView win_three_image;
private ImageView win_one_like;
private ImageView win_two_like;
private ImageView win_three_like;
private boolean like1;
private boolean like2;
private boolean like3;
private ScaryPrankLikeEntity list1;
private ScaryPrankLikeEntity list2;
private ScaryPrankLikeEntity list3;
private List<ScaryPrankLikeEntity> entityList;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_win, container, false);
win_title = view.findViewById(R.id.win_title);
win_title.setTypeface(Typeface.createFromAsset(getActivity().getAssets(),"myfront1.ttf"));
win_recycle = view.findViewById(R.id.win_recycle);
win_one_image = view.findViewById(R.id.win_one_image);
win_one_like = view.findViewById(R.id.win_one_like);
win_two_image = view.findViewById(R.id.win_two_image);
win_two_like = view.findViewById(R.id.win_two_like);
win_three_image = view.findViewById(R.id.win_three_image);
win_three_like = view.findViewById(R.id.win_three_like);
gotogetimage();
onMyclick();
return view;
}
private void Getislike() {
like1 = entityList.get(13).getSoundslike();
if (like1){
win_one_like.setBackgroundResource(R.drawable.win_like);
}else {
win_one_like.setBackgroundResource(R.drawable.win_unlike);
}
like2 = entityList.get(13).getSoundslike();
if (like2){
win_one_like.setBackgroundResource(R.drawable.win_like);
}else {
win_one_like.setBackgroundResource(R.drawable.win_unlike);
}
like3 = entityList.get(13).getSoundslike();
if (like3){
win_one_like.setBackgroundResource(R.drawable.win_like);
}else {
win_one_like.setBackgroundResource(R.drawable.win_unlike);
}
}
private void gotogetimage() {
MyTool.RunIO(new Runnable() {
@Override
public void run() {
entityList = ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().getAllMessage();
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Glide.with(getActivity())
.load(entityList.get(5).getImage())
.transform(new RoundedCorners(90))
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target<Drawable> target, boolean isFirstResource) {
//Log.e(MBrManager.TAG, "onLoadFailed-----------------categorylist.getCategoryUrl()=---"+categorylist.getCategoryUrl()+"---------e="+e.getMessage());
return false;
}
@Override
public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target<Drawable> target, @NonNull DataSource dataSource, boolean isFirstResource) {
return false;
}
})
.into(win_one_image);
Glide.with(getActivity())
.load(entityList.get(115).getImage())
.transform(new RoundedCorners(90))
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target<Drawable> target, boolean isFirstResource) {
//Log.e(MBrManager.TAG, "onLoadFailed-----------------categorylist.getCategoryUrl()=---"+categorylist.getCategoryUrl()+"---------e="+e.getMessage());
return false;
}
@Override
public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target<Drawable> target, @NonNull DataSource dataSource, boolean isFirstResource) {
return false;
}
})
.into(win_two_image);
Glide.with(getActivity())
.load(entityList.get(125).getImage())
.transform(new RoundedCorners(90))
.listener(new RequestListener<Drawable>() {
@Override
public boolean onLoadFailed(@Nullable GlideException e, @Nullable Object model, @NonNull Target<Drawable> target, boolean isFirstResource) {
//Log.e(MBrManager.TAG, "onLoadFailed-----------------categorylist.getCategoryUrl()=---"+categorylist.getCategoryUrl()+"---------e="+e.getMessage());
return false;
}
@Override
public boolean onResourceReady(@NonNull Drawable resource, @NonNull Object model, Target<Drawable> target, @NonNull DataSource dataSource, boolean isFirstResource) {
return false;
}
})
.into(win_three_image);
Getislike();
setRecycle();
}
});
}
});
}
private void setRecycle() {
WinAdapter winAdapter = new WinAdapter(getActivity(), entityList.subList(123,129));
win_recycle.setAdapter(winAdapter);
win_recycle.setLayoutManager(new GridLayoutManager(getContext(),1));
}
private void onMyclick() {
win_one_image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
gotoIntent(entityList.get(5));
}
});
win_two_image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
gotoIntent(entityList.get(115));
}
});
win_three_image.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
gotoIntent(entityList.get(125));
}
});
win_one_like.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (like1){
win_one_like.setBackgroundResource(R.drawable.win_unlike);
entityList.get(5).setSoundslike(false);
like1 = false;
}else {
win_one_like.setBackgroundResource(R.drawable.win_like);
entityList.get(5).setSoundslike(true);
like1 = true;
}
MyTool.RunIO(new Runnable() {
@Override
public void run() {
ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().UpdateLikeSounds(entityList.get(5));
}
});
}
});
win_two_like.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (like2){
win_one_like.setBackgroundResource(R.drawable.win_unlike);
entityList.get(115).setSoundslike(false);
like1 = false;
}else {
win_one_like.setBackgroundResource(R.drawable.win_like);
entityList.get(115).setSoundslike(true);
like1 = true;
}
MyTool.RunIO(new Runnable() {
@Override
public void run() {
ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().UpdateLikeSounds(entityList.get(115));
}
});
}
});
win_three_like.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (like3){
win_one_like.setBackgroundResource(R.drawable.win_unlike);
entityList.get(125).setSoundslike(false);
like1 = false;
}else {
win_one_like.setBackgroundResource(R.drawable.win_like);
entityList.get(125).setSoundslike(true);
like1 = true;
}
MyTool.RunIO(new Runnable() {
@Override
public void run() {
ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().UpdateLikeSounds(entityList.get(125));
}
});
}
});
}
private void gotoIntent(ScaryPrankLikeEntity data) {
String putbg = String.valueOf(R.color.sounds_poupur_bg);
Intent intent = new Intent(getContext(), PreviewActivity.class);
intent.putExtra(MyValue.DATA_NAME,data.getName());
intent.putExtra(MyValue.DATA_BG,putbg);
getActivity().startActivity(intent);
}
@Override
public void onResume() {
super.onResume();
gotogetimage();
}
}

View File

@ -0,0 +1,29 @@
package com.lc.myapplication.security.mysoundstwo.list;
import java.io.Serializable;
public class SoundsData implements Serializable {
private String title;
private String mp3Url;
private String preUrl;
private boolean islike = false;
public String getTitle() {
return title;
}
public String getMp3Url() {
return mp3Url;
}
public String getPreUrl() {
return preUrl;
}
public boolean isIslike() {
return islike;
}
public void setIslike(boolean islike) {
this.islike = islike;
}
}

View File

@ -0,0 +1,43 @@
package com.lc.myapplication.security.mysoundstwo.list;
import java.io.Serializable;
import java.util.List;
public class SoundsList implements Serializable {
private String categoryId;
private String categoryName;
private String categoryUrl;
private List<SoundsData> list;
public String getCategoryId() {
return categoryId;
}
public void setCategoryId(String categoryId) {
this.categoryId = categoryId;
}
public String getCategoryName() {
return categoryName;
}
public void setCategoryName(String categoryName) {
this.categoryName = categoryName;
}
public String getCategoryUrl() {
return categoryUrl;
}
public void setCategoryUrl(String categoryUrl) {
this.categoryUrl = categoryUrl;
}
public List<SoundsData> getList() {
return list;
}
public void setList(List<SoundsData> list) {
this.list = list;
}
}

View File

@ -0,0 +1,34 @@
package com.lc.myapplication.security.mysoundstwo.room;
import androidx.room.Dao;
import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.OnConflictStrategy;
import androidx.room.Query;
import androidx.room.Update;
import java.util.List;
@Dao
public interface ScaryPrankLikeDao {
@Query("select * from scarylike_table where name=:name")
ScaryPrankLikeEntity QueryLikeName(String name);
@Update
void UpdateLikeSounds(ScaryPrankLikeEntity entity);
@Query("SELECT * FROM scarylike_table")
List<ScaryPrankLikeEntity> getAllMessage();
@Insert(onConflict = OnConflictStrategy.IGNORE)
void insertLikeData(ScaryPrankLikeEntity entity);
@Query("select * from scarylike_table where soundslike=:soundslike")
List<ScaryPrankLikeEntity> getLike(boolean soundslike);
@Delete()
void delete(ScaryPrankLikeEntity entity);
@Query("select * from scarylike_table where resource=:reource")
List<ScaryPrankLikeEntity> queryreource(int reource);
@Query("delete from scarylike_table where name=:name")
void deletelike(String name);
}

View File

@ -0,0 +1,22 @@
package com.lc.myapplication.security.mysoundstwo.room;
import androidx.room.Database;
import androidx.room.Room;
import androidx.room.RoomDatabase;
import com.lc.myapplication.security.mysoundstwo.ScaryPrank;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
@Database(version = 1,entities = {ScaryPrankLikeEntity.class},exportSchema = false)
public abstract class ScaryPrankLikeDatabase extends RoomDatabase {
private static ScaryPrankLikeDatabase scaryPrankLikeDatabase;
public abstract ScaryPrankLikeDao getScaryPrankLikeDao();
public static synchronized ScaryPrankLikeDatabase getScaryPrankLikeDatabase(){
if (scaryPrankLikeDatabase == null){
scaryPrankLikeDatabase = Room.databaseBuilder(MyValue.scaryPrank,ScaryPrankLikeDatabase.class, MyValue.DATA_BASE).build();
}
return scaryPrankLikeDatabase;
}
}

View File

@ -0,0 +1,74 @@
package com.lc.myapplication.security.mysoundstwo.room;
import androidx.room.Entity;
import androidx.room.Index;
import androidx.room.PrimaryKey;
import com.lc.myapplication.security.mysoundstwo.value.MyValue;
@Entity(tableName = MyValue.TABLE_NAME,indices = {@Index(value = "name",unique = true)})
public class ScaryPrankLikeEntity {
@PrimaryKey(autoGenerate = true)
private int id;
private String name;
private String image;
private String mp3url;
private String time;
private Boolean soundslike;
private int resource;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setSoundslike(Boolean soundslike) {
this.soundslike = soundslike;
}
public String getImage() {
return image;
}
public void setImage(String image) {
this.image = image;
}
public String getMp3url() {
return mp3url;
}
public void setMp3url(String mp3url) {
this.mp3url = mp3url;
}
public Boolean getSoundslike() {
return soundslike;
}
public String getTime() {
return time;
}
public void setTime(String time) {
this.time = time;
}
public int getResource() {
return resource;
}
public void setResource(int resource) {
this.resource = resource;
}
}

View File

@ -0,0 +1,71 @@
package com.lc.myapplication.security.mysoundstwo.tool;
import android.content.SharedPreferences;
import android.util.Log;
import com.lc.myapplication.security.mysoundstwo.list.SoundsData;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeDatabase;
import com.lc.myapplication.security.mysoundstwo.room.ScaryPrankLikeEntity;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringWriter;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class MyTool {
private SharedPreferences sharedPreferences;
private SharedPreferences.Editor editor;
private static ExecutorService executorService;
public static String getCovertStr(InputStream stream) {
String covertStr = "";
try {
StringWriter writer = new StringWriter();
char[] buffer = new char[stream.available()];
Reader reader = new BufferedReader(new InputStreamReader(stream, StandardCharsets.UTF_8));
int a = 0;
while ((a = reader.read(buffer)) != -1) {
writer.write(buffer, 0, a);
}
covertStr = writer.toString();
} catch (IOException e) {
return covertStr;
}
return covertStr;
}
private static ExecutorService getExecutorService(){
if (executorService == null){
executorService = Executors.newSingleThreadExecutor();
}
return executorService;
}
public static void RunIO(Runnable task){
getExecutorService().execute(task);
}
public static void insertEntity(List<SoundsData> list) {
Log.d("--------size","----size"+list.size());
MyTool.RunIO(new Runnable() {
@Override
public void run() {
for (SoundsData datalist : list) {
ScaryPrankLikeEntity entity = new ScaryPrankLikeEntity();
entity.setName(datalist.getTitle());
entity.setImage(datalist.getPreUrl());
entity.setMp3url(datalist.getMp3Url());
entity.setSoundslike(false);
ScaryPrankLikeDatabase.getScaryPrankLikeDatabase().getScaryPrankLikeDao().insertLikeData(entity);
//SecurityLockDataBase.getSecurityLockDataBase().getsecurityLockDAO().InsertSecurityEntity(entityApp);
}
}
});
}
}

View File

@ -0,0 +1,53 @@
package com.lc.myapplication.security.mysoundstwo.value;
import android.graphics.Rect;
import android.view.View;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
public class MySpace extends RecyclerView.ItemDecoration {
private int ex_space = 0;
private int h_space = 0;
private int v_space = 0;
@Override
public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {
int position = parent.getChildAdapterPosition(view);
int spanSize = 1;
int spanIndex = 0;
int spanCount = 1;
RecyclerView.LayoutManager layoutManager = parent.getLayoutManager();
if (layoutManager instanceof GridLayoutManager) {
GridLayoutManager layoutManager1 = (GridLayoutManager) layoutManager;
GridLayoutManager.LayoutParams layoutParams = (GridLayoutManager.LayoutParams) view.getLayoutParams();
spanCount = layoutManager1.getSpanCount();
spanSize = layoutManager1.getSpanSizeLookup().getSpanSize(position);
spanIndex = layoutParams.getSpanIndex();
}
if (spanSize == spanCount) {
outRect.left = v_space + ex_space;
outRect.right = v_space + ex_space;
outRect.bottom = h_space;
} else {
int itemAllSpacing = (v_space * (spanCount + 1) + ex_space * 2) / spanCount;
int left = v_space * (spanIndex + 1) - itemAllSpacing * spanIndex + ex_space;
int right = itemAllSpacing - left;
outRect.left = left;
outRect.right = right;
outRect.bottom = h_space;
}
}
public MySpace(int ex_space, int h_space, int v_space) {
this.ex_space = ex_space;
this.h_space = h_space;
this.v_space = v_space;
}
}

View File

@ -0,0 +1,21 @@
package com.lc.myapplication.security.mysoundstwo.value;
import com.lc.myapplication.security.mysoundstwo.ScaryPrank;
import com.lc.myapplication.security.mysoundstwo.fragment.FavoriteFragment;
public class MyValue {
public static String CATEGORY = "category_list";
public static String DATA_NAME = "DATA_NAME";
public static String DATA_ALL = "DATA_all";
public static String DATA_IMAGE = "DATA_IMAGE";
public static String DATA_URLMP3 = "DATA_URLMP3";
public static String DATA_BG = "DATA_BG";
public static String DATA_TYPE = "type";
public static String DATA_BASE = "db";
public static final String TABLE_NAME = "scarylike_table";
public static String COLOR = "bg_color";
public static String preCOLOR = "bg_color";
public static String MP3URL = "MP3";
public static String TIME = "time";
public static ScaryPrank scaryPrank;
}

View File

@ -0,0 +1,30 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path android:pathData="M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z">
<aapt:attr name="android:fillColor">
<gradient
android:endX="85.84757"
android:endY="92.4963"
android:startX="42.9492"
android:startY="49.59793"
android:type="linear">
<item
android:color="#44000000"
android:offset="0.0" />
<item
android:color="#00000000"
android:offset="1.0" />
</gradient>
</aapt:attr>
</path>
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth="1"
android:strokeColor="#00000000" />
</vector>

View File

@ -0,0 +1,18 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="327dp"
android:height="50dp"
android:viewportWidth="327"
android:viewportHeight="50"
>
<group>
<clip-path
android:pathData="M25 0H302C315.807 0 327 11.1929 327 25C327 38.8071 315.807 50 302 50H25C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0Z"
/>
<path
android:pathData="M0 0V50H327V0"
android:fillColor="#74ABFF"
/>
</group>
</vector>

View File

@ -0,0 +1,20 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M9,10.22V9.939C9,9.243 9.469,8.673 10.136,8.505L18.32,6.317C18.459,6.28 18.604,6.275 18.745,6.303C18.886,6.331 19.018,6.391 19.132,6.478C19.246,6.566 19.339,6.678 19.403,6.806C19.466,6.935 19.5,7.077 19.5,7.22V8.252"
android:strokeLineJoin="round"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#D8D8D8"
android:strokeLineCap="round"/>
<path
android:pathData="M19.5,13.874V17.624C19.5,18.276 19.081,18.823 18.469,19.03L17.438,19.405C16.223,19.814 15,18.917 15,17.624C14.997,17.292 15.1,16.968 15.294,16.698C15.488,16.428 15.762,16.227 16.078,16.124L18.469,15.273C19.081,15.067 19.5,14.526 19.5,13.874ZM19.5,13.874V2.72C19.5,2.649 19.483,2.578 19.451,2.514C19.419,2.45 19.373,2.393 19.316,2.35C19.258,2.306 19.192,2.277 19.122,2.263C19.051,2.249 18.979,2.251 18.909,2.27L9.563,4.783C9.399,4.829 9.256,4.927 9.154,5.063C9.053,5.198 8.999,5.364 9,5.533V16.127M9,16.127C9,16.779 8.581,17.327 7.969,17.533L5.531,18.377C4.881,18.596 4.5,19.184 4.5,19.877C4.5,21.17 5.743,22.059 6.938,21.658L7.969,21.283C8.581,21.077 9,20.529 9,19.877V16.127Z"
android:strokeLineJoin="round"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#D8D8D8"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,18 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="141dp"
android:height="50dp"
android:viewportWidth="141"
android:viewportHeight="50"
>
<group>
<clip-path
android:pathData="M25 0H116C129.807 0 141 11.1929 141 25C141 38.8071 129.807 50 116 50H25C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0Z"
/>
<path
android:pathData="M0 0V50H141V0"
android:fillColor="#74ABFF"
/>
</group>
</vector>

View File

@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M10.001,16.665V9.999M10.001,9.999V3.332M10.001,9.999H16.667M10.001,9.999H3.334"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#ffffff"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="25dp"
android:viewportWidth="24"
android:viewportHeight="25">
<path
android:pathData="M4.75,6.5H3.75C3.551,6.5 3.36,6.421 3.22,6.28C3.079,6.14 3,5.949 3,5.75C3,5.551 3.079,5.36 3.22,5.22C3.36,5.079 3.551,5 3.75,5H20.25C20.449,5 20.64,5.079 20.78,5.22C20.921,5.36 21,5.551 21,5.75C21,5.949 20.921,6.14 20.78,6.28C20.64,6.421 20.449,6.5 20.25,6.5H6.25V19.75C6.25,19.914 6.282,20.077 6.345,20.228C6.408,20.38 6.5,20.518 6.616,20.634C6.732,20.75 6.87,20.842 7.022,20.905C7.173,20.968 7.336,21 7.5,21H16.5C16.664,21 16.827,20.968 16.978,20.905C17.13,20.842 17.268,20.75 17.384,20.634C17.5,20.518 17.592,20.38 17.655,20.228C17.718,20.077 17.75,19.914 17.75,19.75V8.75C17.75,8.551 17.829,8.36 17.97,8.22C18.11,8.079 18.301,8 18.5,8C18.699,8 18.89,8.079 19.03,8.22C19.171,8.36 19.25,8.551 19.25,8.75V19.75C19.25,21.269 18.019,22.5 16.5,22.5H7.5C5.981,22.5 4.75,21.269 4.75,19.75V6.5ZM10,4C9.801,4 9.61,3.921 9.47,3.78C9.329,3.64 9.25,3.449 9.25,3.25C9.25,3.051 9.329,2.86 9.47,2.72C9.61,2.579 9.801,2.5 10,2.5H14C14.199,2.5 14.39,2.579 14.53,2.72C14.671,2.86 14.75,3.051 14.75,3.25C14.75,3.449 14.671,3.64 14.53,3.78C14.39,3.921 14.199,4 14,4H10ZM9.25,10.75C9.25,10.551 9.329,10.36 9.47,10.22C9.61,10.079 9.801,10 10,10C10.199,10 10.39,10.079 10.53,10.22C10.671,10.36 10.75,10.551 10.75,10.75V16.75C10.75,16.949 10.671,17.14 10.53,17.28C10.39,17.421 10.199,17.5 10,17.5C9.801,17.5 9.61,17.421 9.47,17.28C9.329,17.14 9.25,16.949 9.25,16.75V10.75ZM13.25,10.75C13.25,10.551 13.329,10.36 13.47,10.22C13.61,10.079 13.801,10 14,10C14.199,10 14.39,10.079 14.53,10.22C14.671,10.36 14.75,10.551 14.75,10.75V16.75C14.75,16.949 14.671,17.14 14.53,17.28C14.39,17.421 14.199,17.5 14,17.5C13.801,17.5 13.61,17.421 13.47,17.28C13.329,17.14 13.25,16.949 13.25,16.75V10.75Z"
android:fillColor="#B6B6B6"/>
</vector>

View File

@ -0,0 +1,18 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="375dp"
android:height="269dp"
android:viewportWidth="375"
android:viewportHeight="269"
>
<group>
<clip-path
android:pathData="M0 0H375V269H0V0Z"
/>
<path
android:pathData="M0 0V269H375V0"
android:fillColor="#00000000"
/>
</group>
</vector>

View File

@ -0,0 +1,20 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="21dp"
android:height="20dp"
android:viewportWidth="21"
android:viewportHeight="20">
<path
android:pathData="M2.374,12.5H4.874L7.374,2.5L9.874,17.5L12.374,8.75L13.624,12.5H16.124"
android:strokeLineJoin="round"
android:strokeWidth="1.25"
android:fillColor="#00000000"
android:strokeColor="#ffffff"
android:strokeLineCap="round"/>
<path
android:pathData="M17.375,13.75C18.065,13.75 18.625,13.19 18.625,12.5C18.625,11.81 18.065,11.25 17.375,11.25C16.685,11.25 16.125,11.81 16.125,12.5C16.125,13.19 16.685,13.75 17.375,13.75Z"
android:strokeLineJoin="round"
android:strokeWidth="1.25"
android:fillColor="#00000000"
android:strokeColor="#ffffff"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,12 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M10.001,16.665V9.999M10.001,9.999V3.332M10.001,9.999H16.667M10.001,9.999H3.334"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#ffffff"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,48 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="327dp"
android:height="80dp"
android:viewportWidth="327"
android:viewportHeight="80"
>
<group>
<clip-path
android:pathData="M32 0H295C312.673 0 327 14.3269 327 32V48C327 65.6731 312.673 80 295 80H32C14.3269 80 0 65.6731 0 48V32C0 14.3269 14.3269 0 32 0Z"
/>
<path
android:pathData="M0 0V80H327V0"
android:fillColor="#9593FF"
/>
<group
android:translateX="0.013"
android:translateY="-0.352"
android:pivotX="163.5"
android:pivotY="40"
android:scaleX="1.947"
android:scaleY="3.407"
>
<path
android:pathData="M0 0V80H327V0"
>
<aapt:attr name="android:fillColor">
<gradient
android:type="radial"
android:centerX="163.5"
android:centerY="40"
android:gradientRadius="81.75"
>
<item
android:color="#FFFFFF"
android:offset="0"
/>
<item
android:color="#231F20"
android:offset="1"
/>
</gradient>
</aapt:attr>
</path>
</group>
</group>
</vector>

View File

@ -0,0 +1,170 @@
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="108dp"
android:height="108dp"
android:viewportWidth="108"
android:viewportHeight="108">
<path
android:fillColor="#3DDC84"
android:pathData="M0,0h108v108h-108z" />
<path
android:fillColor="#00000000"
android:pathData="M9,0L9,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,0L19,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,0L29,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,0L39,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,0L49,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,0L59,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,0L69,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,0L79,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M89,0L89,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M99,0L99,108"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,9L108,9"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,19L108,19"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,29L108,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,39L108,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,49L108,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,59L108,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,69L108,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,79L108,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,89L108,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M0,99L108,99"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,29L89,29"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,39L89,39"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,49L89,49"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,59L89,59"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,69L89,69"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M19,79L89,79"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M29,19L29,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M39,19L39,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M49,19L49,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M59,19L59,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M69,19L69,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
<path
android:fillColor="#00000000"
android:pathData="M79,19L79,89"
android:strokeWidth="0.8"
android:strokeColor="#33FFFFFF" />
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M16,28.799C15.6,28.799 15.2,28.649 14.9,28.399C13.75,27.399 12.6,26.449 11.6,25.599C8.7,23.149 6.15,20.999 4.4,18.899C2.4,16.499 1.5,14.299 1.5,11.849C1.5,9.499 2.3,7.299 3.8,5.699C5.3,4.099 7.35,3.199 9.6,3.199C11.25,3.199 12.8,3.749 14.15,4.749C14.7,5.149 15.15,5.649 15.6,6.199C15.8,6.449 16.15,6.449 16.35,6.199C16.8,5.649 17.3,5.199 17.8,4.749C19.15,3.699 20.7,3.199 22.35,3.199C24.6,3.199 26.65,4.099 28.15,5.699C29.65,7.299 30.45,9.499 30.45,11.849C30.45,14.299 29.55,16.499 27.55,18.849C25.8,20.949 23.25,23.099 20.35,25.549C19.35,26.399 18.2,27.349 17.05,28.349C16.8,28.649 16.4,28.799 16,28.799Z"
android:fillColor="#F52C2C"/>
</vector>

View File

@ -0,0 +1,20 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M16.543,3.75C13.5,3.75 12,6.75 12,6.75C12,6.75 10.5,3.75 7.457,3.75C4.984,3.75 3.025,5.819 3,8.288C2.948,13.413 7.065,17.057 11.578,20.12C11.702,20.205 11.849,20.25 12,20.25C12.15,20.25 12.297,20.205 12.422,20.12C16.934,17.057 21.051,13.413 21,8.288C20.974,5.819 19.016,3.75 16.543,3.75Z"
android:strokeLineJoin="round"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#D8D8D8"
android:strokeLineCap="round"/>
<path
android:pathData="M2.25,12H7.5L9.75,7.5L12,15L14.25,10.5L15.75,13.5H21.75"
android:strokeLineJoin="round"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#D8D8D8"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,34 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M2.667,16.668C2.667,12.235 6.264,8.668 10.667,8.668H29.333"
android:strokeLineJoin="round"
android:strokeWidth="2.66667"
android:fillColor="#00000000"
android:strokeColor="#E4EFFF"
android:strokeLineCap="round"/>
<path
android:pathData="M25.333,4.668L29.333,8.668L25.333,12.668"
android:strokeLineJoin="round"
android:strokeWidth="2.66667"
android:fillColor="#00000000"
android:strokeColor="#E4EFFF"
android:strokeLineCap="round"/>
<path
android:pathData="M29.333,15.332C29.333,19.765 25.736,23.332 21.333,23.332H2.667"
android:strokeLineJoin="round"
android:strokeWidth="2.66667"
android:fillColor="#00000000"
android:strokeColor="#E4EFFF"
android:strokeLineCap="round"/>
<path
android:pathData="M6.667,27.332L2.667,23.332L6.667,19.332"
android:strokeLineJoin="round"
android:strokeWidth="2.66667"
android:fillColor="#00000000"
android:strokeColor="#E4EFFF"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,27 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M17,16.959V20.996L16,21L10,15H8.005C6.9,15 6.005,14.105 6.005,13V11C6.005,9.895 6.9,9 8.005,9H9.056V9"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#3A5680"
android:strokeLineCap="round"/>
<path
android:pathData="M12.585,6.784L16,3H17V11.042"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#3A5680"
android:strokeLineCap="round"/>
<path
android:pathData="M3.077,3.043L21,21"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#3A5680"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="18dp"
android:height="19dp"
android:viewportWidth="18"
android:viewportHeight="19">
<path
android:pathData="M9,16.395L7.912,15.405C4.05,11.903 1.5,9.593 1.5,6.758C1.5,4.448 3.315,2.633 5.625,2.633C6.93,2.633 8.182,3.24 9,4.2C9.818,3.24 11.07,2.633 12.375,2.633C14.685,2.633 16.5,4.448 16.5,6.758C16.5,9.593 13.95,11.903 10.087,15.413L9,16.395Z"
android:fillColor="#FF679C"/>
</vector>

View File

@ -0,0 +1,18 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="335dp"
android:height="78.13dp"
android:viewportWidth="335"
android:viewportHeight="78.13"
>
<group>
<clip-path
android:pathData="M16 0H319C327.837 0 335 7.16344 335 16V62.1293C335 70.9659 327.837 78.1293 319 78.1293H16C7.16344 78.1293 0 70.9659 0 62.1293V16C0 7.16344 7.16344 0 16 0Z"
/>
<path
android:pathData="M0 0V78.1293H335V0"
android:fillColor="#FFFFFF"
/>
</group>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="18dp"
android:height="19dp"
android:viewportWidth="18"
android:viewportHeight="19">
<path
android:pathData="M9,16.263L7.912,15.273C4.05,11.77 1.5,9.46 1.5,6.625C1.5,4.315 3.315,2.5 5.625,2.5C6.93,2.5 8.182,3.108 9,4.068C9.818,3.108 11.07,2.5 12.375,2.5C14.685,2.5 16.5,4.315 16.5,6.625C16.5,9.46 13.95,11.77 10.087,15.28L9,16.263Z"
android:fillColor="#F0ECFF"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="21dp"
android:viewportWidth="20"
android:viewportHeight="21">
<path
android:pathData="M3.958,5.064H3.125C2.959,5.064 2.8,4.998 2.683,4.881C2.566,4.764 2.5,4.605 2.5,4.439C2.5,4.273 2.566,4.114 2.683,3.997C2.8,3.88 2.959,3.814 3.125,3.814H16.875C17.041,3.814 17.2,3.88 17.317,3.997C17.434,4.114 17.5,4.273 17.5,4.439C17.5,4.605 17.434,4.764 17.317,4.881C17.2,4.998 17.041,5.064 16.875,5.064H5.208V16.105C5.208,16.242 5.235,16.378 5.288,16.504C5.34,16.631 5.417,16.745 5.513,16.842C5.61,16.939 5.725,17.015 5.851,17.068C5.978,17.12 6.113,17.147 6.25,17.147H13.75C13.887,17.147 14.022,17.12 14.149,17.068C14.275,17.015 14.39,16.939 14.487,16.842C14.583,16.745 14.66,16.631 14.712,16.504C14.765,16.378 14.792,16.242 14.792,16.105V6.939C14.792,6.773 14.858,6.614 14.975,6.497C15.092,6.38 15.251,6.314 15.417,6.314C15.582,6.314 15.741,6.38 15.859,6.497C15.976,6.614 16.042,6.773 16.042,6.939V16.105C16.042,17.371 15.016,18.397 13.75,18.397H6.25C4.984,18.397 3.958,17.371 3.958,16.105V5.064ZM8.333,2.98C8.168,2.98 8.009,2.915 7.891,2.797C7.774,2.68 7.708,2.521 7.708,2.355C7.708,2.19 7.774,2.031 7.891,1.914C8.009,1.796 8.168,1.73 8.333,1.73H11.667C11.832,1.73 11.991,1.796 12.109,1.914C12.226,2.031 12.292,2.19 12.292,2.355C12.292,2.521 12.226,2.68 12.109,2.797C11.991,2.915 11.832,2.98 11.667,2.98H8.333ZM7.708,8.605C7.708,8.44 7.774,8.281 7.891,8.164C8.009,8.046 8.168,7.98 8.333,7.98C8.499,7.98 8.658,8.046 8.775,8.164C8.892,8.281 8.958,8.44 8.958,8.605V13.606C8.958,13.771 8.892,13.93 8.775,14.047C8.658,14.165 8.499,14.231 8.333,14.231C8.168,14.231 8.009,14.165 7.891,14.047C7.774,13.93 7.708,13.771 7.708,13.606V8.605ZM11.042,8.605C11.042,8.44 11.108,8.281 11.225,8.164C11.342,8.046 11.501,7.98 11.667,7.98C11.832,7.98 11.991,8.046 12.109,8.164C12.226,8.281 12.292,8.44 12.292,8.605V13.606C12.292,13.771 12.226,13.93 12.109,14.047C11.991,14.165 11.832,14.231 11.667,14.231C11.501,14.231 11.342,14.165 11.225,14.047C11.108,13.93 11.042,13.771 11.042,13.606V8.605Z"
android:fillColor="#FF8181"/>
</vector>

View File

@ -0,0 +1,18 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="36dp"
android:height="36dp"
android:viewportWidth="36"
android:viewportHeight="36"
>
<group>
<clip-path
android:pathData="M12 0H24C30.6274 0 36 5.37258 36 12V24C36 30.6274 30.6274 36 24 36H12C5.37258 36 0 30.6274 0 24V12C0 5.37258 5.37258 0 12 0Z"
/>
<path
android:pathData="M0 0V36H36V0"
android:fillColor="#EFEFEF"
/>
</group>
</vector>

View File

@ -0,0 +1,13 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M15.375,5.25L8.625,12L15.375,18.75"
android:strokeLineJoin="round"
android:strokeWidth="2.25"
android:fillColor="#00000000"
android:strokeColor="#000000"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,40 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="325dp"
android:height="325dp"
android:viewportWidth="325"
android:viewportHeight="325">
<path
android:pathData="M165.5,162.5m-117.07,0a117.07,117.07 0,1 1,234.14 0a117.07,117.07 0,1 1,-234.14 0"
android:fillColor="#E1EDFF"/>
<path
android:pathData="M165.5,162.5m-102.69,0a102.69,102.69 0,1 1,205.38 0a102.69,102.69 0,1 1,-205.38 0"
android:fillColor="#ffffff"/>
<path
android:pathData="M259.9,68.1C242.58,50.78 220.84,38.57 197.04,32.78C173.24,26.99 148.32,27.86 124.98,35.3C101.65,42.73 80.81,56.44 64.74,74.92C48.68,93.4 38.01,115.95 33.89,140.09C29.78,164.23 32.39,189.04 41.44,211.8C50.48,234.55 65.61,254.39 85.17,269.12C104.72,283.86 127.96,292.93 152.33,295.35C176.7,297.77 201.26,293.43 223.33,282.82"
android:strokeWidth="2.05385"
android:fillColor="#00000000">
<aapt:attr name="android:strokeColor">
<gradient
android:startX="165.5"
android:startY="29"
android:endX="165.5"
android:endY="296"
android:type="linear">
<item android:offset="0" android:color="#FFFFCF3F"/>
<item android:offset="1" android:color="#FF74ABFF"/>
</gradient>
</aapt:attr>
</path>
<path
android:pathData="M165.5,162.5m-88.32,0a88.32,88.32 0,1 1,176.63 0a88.32,88.32 0,1 1,-176.63 0"
android:fillColor="#74ABFF"/>
<path
android:pathData="M265.11,75.21m-8.22,0a8.22,8.22 0,1 1,16.43 0a8.22,8.22 0,1 1,-16.43 0"
android:strokeWidth="2.05385"
android:fillColor="#00000000"
android:strokeColor="#FFCF3F"/>
<path
android:pathData="M227.12,281.62m-6.16,0a6.16,6.16 0,1 1,12.32 0a6.16,6.16 0,1 1,-12.32 0"
android:fillColor="#74ABFF"/>
</vector>

View File

@ -0,0 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="100dp"
android:height="100dp"
android:viewportWidth="100"
android:viewportHeight="100">
<path
android:pathData="M87.5,50C87.5,29.3 70.7,12.5 50,12.5C29.3,12.5 12.5,29.3 12.5,50C12.5,70.7 29.3,87.5 50,87.5C70.7,87.5 87.5,70.7 87.5,50Z"
android:strokeWidth="3"
android:fillColor="#00000000"
android:strokeColor="#3A5680"/>
<path
android:pathData="M50,50m-32,0a32,32 0,1 1,64 0a32,32 0,1 1,-64 0"
android:fillColor="#FBD26A"/>
</vector>

View File

@ -0,0 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="100dp"
android:height="100dp"
android:viewportWidth="100"
android:viewportHeight="100">
<path
android:pathData="M87.5,50C87.5,29.3 70.7,12.5 50,12.5C29.3,12.5 12.5,29.3 12.5,50C12.5,70.7 29.3,87.5 50,87.5C70.7,87.5 87.5,70.7 87.5,50Z"
android:strokeWidth="3"
android:fillColor="#00000000"
android:strokeColor="#3A5680"/>
<path
android:pathData="M60.25,66H39C37.67,66 36.4,65.48 35.47,64.55C34.53,63.62 34,62.36 34,61.04V39.96C34,38.64 34.53,37.38 35.47,36.45C36.4,35.52 37.67,35 39,35H60.25C61.58,35 62.85,35.52 63.78,36.45C64.72,37.38 65.25,38.64 65.25,39.96V61.04C65.25,62.36 64.72,63.62 63.78,64.55C62.85,65.48 61.58,66 60.25,66Z"
android:fillColor="#FBD26A"/>
</vector>

View File

@ -0,0 +1,34 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M2.667,16.668C2.667,12.235 6.264,8.668 10.667,8.668H29.333"
android:strokeLineJoin="round"
android:strokeWidth="2.66667"
android:fillColor="#00000000"
android:strokeColor="#74ABFF"
android:strokeLineCap="round"/>
<path
android:pathData="M25.333,4.668L29.333,8.668L25.333,12.668"
android:strokeLineJoin="round"
android:strokeWidth="2.66667"
android:fillColor="#00000000"
android:strokeColor="#74ABFF"
android:strokeLineCap="round"/>
<path
android:pathData="M29.333,15.332C29.333,19.765 25.736,23.332 21.333,23.332H2.667"
android:strokeLineJoin="round"
android:strokeWidth="2.66667"
android:fillColor="#00000000"
android:strokeColor="#74ABFF"
android:strokeLineCap="round"/>
<path
android:pathData="M6.667,27.332L2.667,23.332L6.667,19.332"
android:strokeLineJoin="round"
android:strokeWidth="2.66667"
android:fillColor="#00000000"
android:strokeColor="#74ABFF"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,18 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24"
>
<group>
<clip-path
android:pathData="M12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0Z"
/>
<path
android:pathData="M0 0V24H24V0"
android:fillColor="#74ABFF"
/>
</group>
</vector>

View File

@ -0,0 +1,18 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="327dp"
android:height="50dp"
android:viewportWidth="327"
android:viewportHeight="50"
>
<group>
<clip-path
android:pathData="M25 0H302C315.807 0 327 11.1929 327 25C327 38.8071 315.807 50 302 50H25C11.1929 50 0 38.8071 0 25C0 11.1929 11.1929 0 25 0Z"
/>
<path
android:pathData="M0 0V50H327V0"
android:fillColor="#74ABFF"
/>
</group>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M7.675,3.162C7.524,3.009 7.319,2.92 7.104,2.914C6.889,2.909 6.68,2.986 6.521,3.131C6.362,3.276 6.265,3.477 6.25,3.691C6.236,3.906 6.305,4.118 6.443,4.283L6.492,4.336L12.155,10.044L6.497,15.658C6.349,15.804 6.261,16.001 6.251,16.21C6.241,16.418 6.31,16.622 6.443,16.783L6.492,16.836C6.638,16.984 6.835,17.072 7.044,17.082C7.252,17.091 7.456,17.023 7.617,16.889L7.67,16.841L13.92,10.641C14.068,10.494 14.156,10.297 14.166,10.089C14.175,9.88 14.107,9.676 13.973,9.516L13.925,9.462L7.675,3.162Z"
android:fillColor="#C6C6C6"/>
</vector>

View File

@ -0,0 +1,5 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="20dp" android:viewportHeight="1024" android:viewportWidth="1024" android:width="20dp">
<path android:fillColor="#7F7F7F" android:pathData="M883.5,360.6c0,-16.5 13.4,-29.8 29.9,-29.8 16.6,0 29.9,13.3 29.9,29.8L943.3,994.2c0,16.5 -13.4,29.8 -29.9,29.8L45,1024A29.9,29.9 0,0 1,15.1 994.2L15.1,98.9c0,-16.5 13.4,-29.8 29.9,-29.8h660.9c16.6,0 30,13.3 30,29.8 0,16.5 -13.4,29.8 -30,29.8L75,128.7v835.6h808.5L883.5,360.6zM224.7,576.4a29.9,29.9 0,0 1,-29.9 -29.8c0,-16.5 13.4,-29.8 29.9,-29.8h375.5c16.6,0 29.9,13.4 29.9,29.8 0,16.5 -13.4,29.9 -29.9,29.9L224.7,576.4zM224.7,397.3a29.9,29.9 0,0 1,-29.9 -29.8c0,-16.5 13.4,-29.8 29.9,-29.8h276.7c16.6,0 29.9,13.4 29.9,29.8 0,16.5 -13.4,29.9 -29.9,29.9L224.7,397.3zM224.7,755.4a29.9,29.9 0,0 1,-29.9 -29.8c0,-16.5 13.4,-29.8 29.9,-29.8h471.8c16.6,0 30,13.4 30,29.8 0,16.5 -13.4,29.9 -30,29.9L224.7,755.4zM956.8,9.8a30,30 0,0 1,42.3 -2,29.8 29.8,0 0,1 2.1,42.2L664.7,419.8a30,30 0,0 1,-42.3 2.1,29.8 29.8,0 0,1 -2.1,-42.2L956.8,9.8z"/>
</vector>

View File

@ -0,0 +1,19 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="237dp"
android:height="37dp"
android:viewportWidth="237"
android:viewportHeight="37"
>
<group>
<clip-path
android:pathData="M0 0H237V37H0V0Z"
/>
<path
android:pathData="M0 0H237V37H0V0Z"
android:strokeWidth="2"
android:strokeColor="#74ABFF"
/>
</group>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M5.625,7.497V6.039C5.625,3.623 7.583,1.664 10,1.664C12.417,1.664 14.375,3.622 14.375,6.039V7.497H14.583C15.849,7.497 16.875,8.525 16.875,9.789V16.039C16.875,17.305 15.85,18.331 14.583,18.331H5.417C4.151,18.331 3.125,17.303 3.125,16.039V9.789C3.125,8.523 4.15,7.497 5.416,7.497H5.625ZM6.875,7.497H13.125V6.039C13.125,4.312 11.726,2.914 10,2.914C8.274,2.914 6.875,4.313 6.875,6.039V7.497ZM4.375,9.789V16.039C4.375,16.613 4.842,17.081 5.416,17.081H14.583C14.72,17.081 14.856,17.054 14.982,17.002C15.109,16.949 15.224,16.873 15.32,16.776C15.417,16.679 15.494,16.564 15.546,16.438C15.598,16.311 15.625,16.176 15.625,16.039V9.789C15.625,9.215 15.158,8.747 14.583,8.747H5.417C5.28,8.747 5.144,8.774 5.018,8.826C4.891,8.879 4.776,8.955 4.68,9.052C4.583,9.149 4.506,9.264 4.454,9.39C4.402,9.517 4.375,9.652 4.375,9.789Z"
android:fillColor="#000000"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M16.666,10.415C16.666,10.25 16.732,10.091 16.849,9.973C16.967,9.856 17.126,9.79 17.291,9.79C17.457,9.79 17.616,9.856 17.733,9.973C17.851,10.091 17.916,10.25 17.916,10.415V15.624C17.916,16.889 16.89,17.915 15.625,17.915H4.375C3.109,17.915 2.083,16.889 2.083,15.624V4.999C2.083,3.733 3.109,2.707 4.375,2.707H9.791C9.957,2.707 10.116,2.773 10.233,2.89C10.351,3.007 10.416,3.166 10.416,3.332C10.416,3.498 10.351,3.657 10.233,3.774C10.116,3.891 9.957,3.957 9.791,3.957H4.375C4.098,3.957 3.833,4.067 3.638,4.262C3.443,4.458 3.333,4.722 3.333,4.999V15.624C3.333,15.9 3.443,16.165 3.638,16.36C3.833,16.556 4.098,16.665 4.375,16.665H15.625C15.901,16.665 16.166,16.556 16.361,16.36C16.557,16.165 16.666,15.9 16.666,15.624V10.415ZM15.845,4.999L14.091,3.135C13.977,3.015 13.917,2.854 13.922,2.688C13.927,2.522 13.997,2.365 14.118,2.252C14.239,2.138 14.4,2.077 14.565,2.082C14.731,2.087 14.888,2.158 15.002,2.279L17.747,5.195C18.122,5.594 17.839,6.249 17.291,6.249H14.154C12.559,6.249 11.25,7.64 11.25,9.374V13.124C11.25,13.29 11.184,13.448 11.067,13.566C10.949,13.683 10.79,13.749 10.625,13.749C10.459,13.749 10.3,13.683 10.183,13.566C10.066,13.448 10,13.29 10,13.124V9.374C10,6.966 11.851,4.999 14.154,4.999H15.845Z"
android:fillColor="#000000"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M10,1.668C14.602,1.668 18.333,5.399 18.333,10.001C18.333,11.531 17.92,13.001 17.15,14.284C17.065,14.426 16.926,14.529 16.765,14.569C16.605,14.609 16.434,14.584 16.292,14.498C16.15,14.413 16.048,14.275 16.007,14.114C15.967,13.953 15.993,13.783 16.078,13.641C16.738,12.542 17.085,11.283 17.083,10.001C17.083,6.089 13.912,2.918 10,2.918C6.088,2.918 2.917,6.089 2.917,10.001C2.917,13.913 6.088,17.085 10,17.085C11.282,17.087 12.54,16.74 13.639,16.08C13.709,16.038 13.787,16.01 13.868,15.998C13.95,15.986 14.032,15.99 14.112,16.009C14.192,16.029 14.267,16.065 14.332,16.114C14.398,16.163 14.454,16.224 14.496,16.294C14.538,16.365 14.566,16.443 14.579,16.524C14.591,16.605 14.587,16.688 14.567,16.767C14.547,16.847 14.511,16.922 14.462,16.988C14.414,17.054 14.352,17.11 14.282,17.152C12.989,17.928 11.508,18.337 10,18.335C5.398,18.335 1.666,14.604 1.666,10.001C1.666,5.399 5.398,1.668 10,1.668ZM10,12.71C10.109,12.71 10.218,12.731 10.319,12.773C10.42,12.815 10.512,12.876 10.589,12.954C10.667,13.031 10.728,13.123 10.77,13.224C10.812,13.325 10.833,13.434 10.833,13.543C10.833,13.652 10.812,13.761 10.77,13.862C10.728,13.963 10.667,14.055 10.589,14.132C10.512,14.21 10.42,14.271 10.319,14.313C10.218,14.355 10.109,14.376 10,14.376C9.779,14.376 9.567,14.288 9.411,14.132C9.254,13.976 9.167,13.764 9.167,13.543C9.167,13.322 9.254,13.11 9.411,12.954C9.567,12.797 9.779,12.71 10,12.71ZM10,5.626C10.221,5.626 10.433,5.714 10.589,5.87C10.745,6.027 10.833,6.239 10.833,6.46V11.043C10.833,11.264 10.745,11.476 10.589,11.632C10.433,11.788 10.221,11.876 10,11.876C9.779,11.876 9.567,11.788 9.411,11.632C9.254,11.476 9.167,11.264 9.167,11.043V6.46C9.167,6.239 9.254,6.027 9.411,5.87C9.567,5.714 9.779,5.626 10,5.626Z"
android:fillColor="#000000"/>
</vector>

View File

@ -0,0 +1,18 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="25dp"
android:viewportWidth="24"
android:viewportHeight="25">
<path
android:pathData="M16.125,13.285C14.325,13.285 12.825,14.785 12.825,16.585C12.825,18.385 14.288,19.885 16.125,19.885C17.962,19.885 19.425,18.385 19.425,16.585C19.425,14.785 17.925,13.285 16.125,13.285ZM16.125,18.235C15.225,18.235 14.512,17.523 14.512,16.623C14.512,15.723 15.225,15.01 16.125,15.01C17.025,15.01 17.737,15.723 17.737,16.623C17.737,17.485 17.025,18.235 16.125,18.235Z"
android:fillColor="#181B3A"/>
<path
android:pathData="M23.175,17.825L22.013,17.188C22.05,16.962 22.05,16.737 22.05,16.55C22.05,16.325 22.05,16.1 22.013,15.913L23.212,15.238C23.663,14.975 23.813,14.45 23.625,13.962L22.2,11.525C21.938,11.113 21.413,10.925 20.962,11.113L19.65,11.825L19.612,11.788C19.388,11.6 19.125,11.375 18.788,11.188V10.4C18.788,9.613 18.15,8.938 17.325,8.938H14.887C14.1,8.938 13.425,9.575 13.425,10.4V11.188C13.087,11.375 12.825,11.6 12.563,11.788L11.475,11.188C10.8,10.813 10.238,11.075 10.012,11.488L8.662,13.775C8.512,14 8.475,14.3 8.55,14.563C8.625,14.825 8.812,15.05 9.037,15.163L10.238,15.8C10.2,15.988 10.2,16.212 10.2,16.438C10.2,16.663 10.2,16.85 10.238,17.075L9,17.862C8.55,18.125 8.4,18.65 8.587,19.138L10.012,21.575C10.275,21.987 10.8,22.175 11.25,21.987L12.563,21.275C12.563,21.275 12.6,21.275 12.6,21.313C12.863,21.538 13.087,21.725 13.462,21.913V22.813C13.462,23.6 14.1,24.275 14.925,24.275H17.362C18.15,24.275 18.825,23.638 18.825,22.813V21.875C19.163,21.688 19.388,21.5 19.65,21.275C19.65,21.275 19.688,21.275 19.688,21.237L20.775,21.837C21.45,22.212 22.013,21.95 22.237,21.538L23.587,19.25C23.737,19.025 23.775,18.725 23.7,18.462C23.587,18.163 23.438,17.938 23.175,17.825ZM20.325,15.875C20.362,16.063 20.362,16.288 20.362,16.55C20.362,16.775 20.362,17 20.288,17.225C20.212,17.75 20.438,18.275 20.925,18.538L21.75,18.987L21.075,20.112L20.175,19.587C19.725,19.325 19.2,19.4 18.825,19.7C18.712,19.775 18.6,19.888 18.525,19.962C18.3,20.15 18.15,20.3 17.925,20.375C17.438,20.6 17.1,21.125 17.1,21.688V22.55H15.113V21.725C15.113,21.163 14.775,20.638 14.288,20.413C14.063,20.3 13.913,20.188 13.688,19.962C13.575,19.888 13.5,19.813 13.387,19.7C13.012,19.4 12.45,19.362 12.038,19.587L11.137,20.112L10.462,18.987L11.325,18.5C11.775,18.237 12.038,17.75 11.962,17.225C11.925,17 11.925,16.775 11.925,16.55C11.925,16.288 11.925,16.1 11.962,15.875C12.038,15.35 11.813,14.825 11.325,14.563L10.5,14.113L11.137,12.988L12.038,13.475C12.488,13.738 13.012,13.663 13.387,13.363C13.5,13.288 13.575,13.212 13.688,13.1C13.913,12.875 14.1,12.762 14.288,12.65C14.775,12.425 15.113,11.9 15.113,11.337V10.625H17.1V11.3C17.1,11.863 17.438,12.387 17.925,12.613C18.112,12.725 18.263,12.837 18.525,13.025C18.638,13.1 18.75,13.212 18.862,13.288C19.237,13.587 19.763,13.625 20.212,13.4L21.112,12.875L21.788,14L20.925,14.488C20.475,14.825 20.212,15.35 20.325,15.875Z"
android:fillColor="#181B3A"/>
<path
android:pathData="M5.738,4.848C4.988,4.848 4.35,5.485 4.35,6.235C4.35,6.985 4.988,7.623 5.738,7.623C6.488,7.623 7.125,6.985 7.125,6.235C7.125,5.485 6.525,4.848 5.738,4.848Z"
android:fillColor="#181B3A"/>
<path
android:pathData="M10.125,9.724L11.063,8.149C11.175,7.924 11.212,7.662 11.175,7.399C11.137,7.137 10.95,6.949 10.725,6.837L10.05,6.499C10.05,6.387 10.05,6.312 10.05,6.199C10.05,6.087 10.05,6.012 10.05,5.899L10.725,5.524C11.137,5.299 11.325,4.774 11.137,4.324L10.125,2.637C9.9,2.262 9.375,2.074 8.962,2.262L8.212,2.674C8.1,2.599 7.988,2.487 7.875,2.412V2.037C7.875,1.324 7.313,0.762 6.6,0.762H4.912C4.2,0.762 3.638,1.324 3.638,2.037V2.412C3.525,2.524 3.412,2.599 3.3,2.712L2.7,2.374C2.1,2.037 1.575,2.299 1.35,2.674L0.412,4.249C0.3,4.474 0.262,4.737 0.3,4.999C0.375,5.262 0.525,5.449 0.75,5.562L1.388,5.937C1.388,6.012 1.388,6.124 1.388,6.237C1.388,6.312 1.388,6.424 1.388,6.499L0.75,6.874C0.338,7.099 0.15,7.624 0.338,8.074L1.313,9.762C1.538,10.174 2.063,10.324 2.475,10.137L3.225,9.724C3.338,9.799 3.45,9.912 3.6,9.987V10.437C3.6,11.149 4.162,11.712 4.875,11.712H6.563C7.275,11.712 7.838,11.149 7.838,10.437V9.949C7.95,9.874 8.063,9.762 8.175,9.687L8.775,10.024C9.337,10.362 9.9,10.137 10.125,9.724ZM7.425,8.149C7.35,8.224 7.275,8.262 7.2,8.337C7.05,8.487 6.975,8.524 6.863,8.599C6.412,8.824 6.15,9.237 6.15,9.724V10.024H5.325V9.724C5.325,9.237 5.025,8.787 4.613,8.599C4.5,8.562 4.425,8.487 4.238,8.337C4.162,8.262 4.088,8.224 4.012,8.149C3.675,7.849 3.188,7.812 2.775,8.037L2.4,8.262L2.25,7.962L2.588,7.774C3,7.549 3.225,7.099 3.15,6.649C3.15,6.499 3.112,6.349 3.112,6.199C3.112,6.049 3.112,5.899 3.15,5.787C3.225,5.337 3,4.849 2.588,4.624L2.25,4.437L2.438,4.137L2.813,4.362C3.225,4.587 3.675,4.549 4.05,4.249C4.125,4.174 4.2,4.137 4.238,4.062C4.387,3.912 4.5,3.837 4.613,3.799C5.063,3.574 5.325,3.162 5.325,2.674V2.487H6.15V2.674C6.15,3.162 6.412,3.612 6.863,3.799C6.975,3.837 7.05,3.912 7.2,4.062C7.275,4.137 7.35,4.174 7.425,4.249C7.762,4.549 8.25,4.587 8.663,4.362L9.038,4.137L9.225,4.437L8.887,4.624C8.475,4.849 8.25,5.337 8.325,5.787C8.363,5.899 8.363,6.049 8.363,6.199C8.363,6.349 8.363,6.462 8.325,6.612C8.25,7.099 8.475,7.549 8.887,7.774L9.188,7.962L9,8.262L8.625,8.037C8.25,7.812 7.762,7.849 7.425,8.149Z"
android:fillColor="#181B3A"/>
</vector>

View File

@ -0,0 +1,28 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M18.223,4.25C20.346,5.894 21.75,8.751 21.75,12.002C21.75,15.208 20.385,18.031 18.311,19.685"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#3A5680"
android:strokeLineCap="round"/>
<path
android:pathData="M16.25,16.5C17.434,15.684 18.25,13.984 18.25,12.006C18.25,10.027 17.434,8.327 16.25,7.5"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:strokeColor="#3A5680"
android:strokeLineCap="round"/>
<path
android:pathData="M4.255,9H6.25L11.25,3H13.25V20.996H11.25L6.25,15H4.255C3.151,15 2.255,14.105 2.255,13V11C2.255,9.895 3.151,9 4.255,9Z"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#3A5680"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,18 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="71dp"
android:height="70dp"
android:viewportWidth="71"
android:viewportHeight="70">
<path
android:pathData="M35.5,0L35.5,0A35,35 0,0 1,70.5 35L70.5,35A35,35 0,0 1,35.5 70L35.5,70A35,35 0,0 1,0.5 35L0.5,35A35,35 0,0 1,35.5 0z"
android:fillColor="#74ABFF"/>
<path
android:pathData="M35.5,2L35.5,2A33,33 0,0 1,68.5 35L68.5,35A33,33 0,0 1,35.5 68L35.5,68A33,33 0,0 1,2.5 35L2.5,35A33,33 0,0 1,35.5 2z"
android:strokeAlpha="0.5"
android:strokeWidth="4"
android:fillColor="#00000000"
android:strokeColor="#000000"/>
<path
android:pathData="M48,30.67C51.333,32.594 51.333,37.406 48,39.33L33,47.99C29.667,49.915 25.5,47.509 25.5,43.66L25.5,26.34C25.5,22.491 29.667,20.085 33,22.01L48,30.67Z"
android:fillColor="#ffffff"/>
</vector>

View File

@ -0,0 +1,20 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M3,12C3,12 2.25,11.719 2.25,10.5C2.25,9.281 3,9 3,9M21,11.531C21,11.531 21.75,11.328 21.75,10.5C21.75,9.672 21,9.469 21,9.469M12,7.5V13.5M5.25,7.5V13.5M19.122,2.448C19.122,2.448 15.061,7.5 11.25,7.5H3.75C3.551,7.5 3.36,7.579 3.22,7.72C3.079,7.86 3,8.051 3,8.25V12.75C3,12.949 3.079,13.14 3.22,13.28C3.36,13.421 3.551,13.5 3.75,13.5H11.25C15.061,13.5 19.122,18.573 19.122,18.573C19.406,18.948 20.25,18.691 20.25,18.113V2.906C20.25,2.329 19.453,2.024 19.122,2.448Z"
android:strokeLineJoin="round"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#ffffff"
android:strokeLineCap="round"/>
<path
android:pathData="M6.75,13.5V21.375C6.75,21.475 6.79,21.57 6.86,21.64C6.93,21.711 7.026,21.75 7.125,21.75H9.609C9.727,21.75 9.843,21.722 9.948,21.67C10.052,21.617 10.144,21.54 10.213,21.445C10.283,21.351 10.33,21.241 10.349,21.125C10.369,21.009 10.361,20.89 10.326,20.778C9.933,19.518 9,18.097 9,15.75H9.75C9.949,15.75 10.14,15.671 10.28,15.53C10.421,15.39 10.5,15.199 10.5,15V14.25C10.5,14.051 10.421,13.86 10.28,13.72C10.14,13.579 9.949,13.5 9.75,13.5H9"
android:strokeLineJoin="round"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#ffffff"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,21 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="71dp"
android:height="70dp"
android:viewportWidth="71"
android:viewportHeight="70">
<path
android:pathData="M35.5,0L35.5,0A35,35 0,0 1,70.5 35L70.5,35A35,35 0,0 1,35.5 70L35.5,70A35,35 0,0 1,0.5 35L0.5,35A35,35 0,0 1,35.5 0z"
android:fillColor="#74ABFF"/>
<path
android:pathData="M35.5,2L35.5,2A33,33 0,0 1,68.5 35L68.5,35A33,33 0,0 1,35.5 68L35.5,68A33,33 0,0 1,2.5 35L2.5,35A33,33 0,0 1,35.5 2z"
android:strokeAlpha="0.5"
android:strokeWidth="4"
android:fillColor="#00000000"
android:strokeColor="#000000"/>
<path
android:pathData="M28,23.75L30.5,23.75A2.5,2.5 0,0 1,33 26.25L33,43.75A2.5,2.5 0,0 1,30.5 46.25L28,46.25A2.5,2.5 0,0 1,25.5 43.75L25.5,26.25A2.5,2.5 0,0 1,28 23.75z"
android:fillColor="#ffffff"/>
<path
android:pathData="M40.5,23.75L43,23.75A2.5,2.5 0,0 1,45.5 26.25L45.5,43.75A2.5,2.5 0,0 1,43 46.25L40.5,46.25A2.5,2.5 0,0 1,38 43.75L38,26.25A2.5,2.5 0,0 1,40.5 23.75z"
android:fillColor="#ffffff"/>
</vector>

View File

@ -0,0 +1,23 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="340dp"
android:height="68dp"
android:viewportWidth="340"
android:viewportHeight="68"
>
<group>
<clip-path
android:pathData="M34 0H306C324.778 0 340 15.2223 340 34C340 52.7777 324.778 68 306 68H34C15.2223 68 0 52.7777 0 34C0 15.2223 15.2223 0 34 0Z"
/>
<path
android:pathData="M0 0V68H340V0"
android:fillColor="#FFFFFF"
/>
<path
android:pathData="M34 0H306C324.778 0 340 15.2223 340 34C340 52.7777 324.778 68 306 68H34C15.2223 68 0 52.7777 0 34C0 15.2223 15.2223 0 34 0Z"
android:strokeWidth="2"
android:strokeColor="#231C2A"
/>
</group>
</vector>

View File

@ -0,0 +1,18 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="44dp"
android:height="44dp"
android:viewportWidth="44"
android:viewportHeight="44"
>
<group>
<clip-path
android:pathData="M22 0C34.1503 0 44 9.84974 44 22C44 34.1503 34.1503 44 22 44C9.84974 44 0 34.1503 0 22C0 9.84974 9.84974 0 22 0Z"
/>
<path
android:pathData="M0 0V44H44V0"
android:fillColor="#FDBB1C"
/>
</group>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp"
android:height="32dp"
android:viewportWidth="32"
android:viewportHeight="32">
<path
android:pathData="M16,28.799C15.6,28.799 15.2,28.649 14.9,28.399C13.75,27.399 12.6,26.449 11.6,25.599C8.7,23.149 6.15,20.999 4.4,18.899C2.4,16.499 1.5,14.299 1.5,11.849C1.5,9.499 2.3,7.299 3.8,5.699C5.3,4.099 7.35,3.199 9.6,3.199C11.25,3.199 12.8,3.749 14.15,4.749C14.7,5.149 15.15,5.649 15.6,6.199C15.8,6.449 16.15,6.449 16.35,6.199C16.8,5.649 17.3,5.199 17.8,4.749C19.15,3.699 20.7,3.199 22.35,3.199C24.6,3.199 26.65,4.099 28.15,5.699C29.65,7.299 30.45,9.499 30.45,11.849C30.45,14.299 29.55,16.499 27.55,18.849C25.8,20.949 23.25,23.099 20.35,25.549C19.35,26.399 18.2,27.349 17.05,28.349C16.8,28.649 16.4,28.799 16,28.799Z"
android:fillColor="#E4EFFF"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="359dp"
android:height="409dp"
android:viewportWidth="359"
android:viewportHeight="409">
<path
android:pathData="M0,45.28C0,27.6 14.33,13.28 32,13.28H89.75H134.63H140.55C150.91,13.28 160.25,7.3 169.47,2.58C172.44,1.06 175.83,0 179.5,0C183.17,0 186.56,1.06 189.53,2.58C198.75,7.3 208.09,13.28 218.45,13.28H224.38H269.25H327C344.67,13.28 359,27.6 359,45.28V1112H0V45.28Z"
android:fillColor="#EFEEFC"/>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M10,17.792L8.792,16.692C4.5,12.8 1.666,10.233 1.666,7.083C1.666,4.517 3.683,2.5 6.25,2.5C7.7,2.5 9.092,3.175 10,4.242C10.908,3.175 12.3,2.5 13.75,2.5C16.316,2.5 18.333,4.517 18.333,7.083C18.333,10.233 15.5,12.8 11.208,16.7L10,17.792Z"
android:fillColor="#FF679C"/>
</vector>

View File

@ -0,0 +1,18 @@
<vector
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="55dp"
android:height="55dp"
android:viewportWidth="55"
android:viewportHeight="55"
>
<group>
<clip-path
android:pathData="M27.5 0C42.6878 0 55 12.3122 55 27.5C55 42.6878 42.6878 55 27.5 55C12.3122 55 0 42.6878 0 27.5C0 12.3122 12.3122 0 27.5 0Z"
/>
<path
android:pathData="M0 0V55H55V0"
android:fillColor="#74ABFF"
/>
</group>
</vector>

View File

@ -0,0 +1,37 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp"
android:height="22dp"
android:viewportWidth="22"
android:viewportHeight="22">
<path
android:pathData="M12.402,10.612C12.323,10.612 12.246,10.596 12.172,10.561L11.126,10.054C11.106,10.044 11.081,10.044 11.061,10.054L10.013,10.561C9.832,10.647 9.623,10.626 9.463,10.504C9.303,10.382 9.217,10.181 9.242,9.976L9.382,8.785C9.384,8.761 9.377,8.738 9.361,8.719L8.575,7.84C8.44,7.689 8.394,7.474 8.455,7.277C8.516,7.082 8.674,6.934 8.87,6.894L10.001,6.664C10.024,6.66 10.044,6.646 10.056,6.625L10.617,5.576C10.714,5.395 10.896,5.285 11.092,5.285C11.291,5.285 11.473,5.398 11.568,5.576L12.129,6.625C12.14,6.646 12.161,6.66 12.183,6.664L13.314,6.894C13.508,6.934 13.666,7.08 13.729,7.277C13.792,7.474 13.745,7.687 13.61,7.84L12.823,8.719C12.807,8.736 12.801,8.761 12.803,8.785L12.943,9.976C12.967,10.181 12.882,10.382 12.722,10.504C12.627,10.577 12.514,10.612 12.402,10.612Z"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#D8D8D8"/>
<path
android:pathData="M4.75,3.254C4.75,2.395 5.446,1.699 6.305,1.699H15.695C16.554,1.699 17.25,2.395 17.25,3.254V10.949C17.25,14.401 14.452,17.199 11,17.199C7.548,17.199 4.75,14.401 4.75,10.949V3.254Z"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#D8D8D8"/>
<path
android:pathData="M17.014,3.949H18.604C19.856,3.949 20.8,5.087 20.57,6.318L19.82,10.318C19.642,11.264 18.816,11.949 17.854,11.949H17.014"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#D8D8D8"/>
<path
android:pathData="M4.986,3.949H3.396C2.143,3.949 1.199,5.087 1.43,6.318L2.18,10.318C2.357,11.264 3.183,11.949 4.146,11.949H4.986"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#D8D8D8"/>
<path
android:pathData="M11.093,17.254V21.051"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#D8D8D8"/>
<path
android:pathData="M16.237,20.563L5.948,20.563"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:strokeColor="#D8D8D8"
android:strokeLineCap="round"/>
</vector>

View File

@ -0,0 +1,27 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="104dp"
android:height="180dp"
android:viewportWidth="104"
android:viewportHeight="180">
<path
android:pathData="M0,16h104v164h-104z"
android:fillColor="#76ACFF"/>
<path
android:pathData="M0,0H88.87L104,16H0L0,0Z"
android:fillColor="#E2EDFC"/>
<path
android:pathData="M48.7,40.29C48.7,40.78 48.79,41.26 48.95,41.75H40.17C40.01,41.17 39.93,40.4 39.93,39.47C39.93,35.94 41.23,33.15 43.84,31.11C46.45,29.04 50.21,28 55.1,28C59,28 61.96,28.81 63.98,30.43C65.99,32.02 67,34.22 67,37.04C67,39.34 66.22,41.51 64.67,43.55C63.12,45.59 61.33,46.61 59.31,46.61V46.75C60.87,46.75 62.11,47.29 63.03,48.36C63.96,49.43 64.42,50.82 64.42,52.53C64.42,60.18 59.23,64 48.85,64C44.52,64 41.33,63.03 39.28,61.08C37.76,59.66 37,57.68 37,55.16C37,54.25 37.1,53.28 37.3,52.24H46.22C46.16,52.6 46.12,52.94 46.12,53.26C46.12,55.4 47.55,56.47 50.39,56.47C51.88,56.47 53.12,56.05 54.11,55.21C55.1,54.36 55.6,53.33 55.6,52.1C55.6,50.22 54.34,49.28 51.83,49.28H46.82L47.81,43.98H51.78C53.5,43.95 54.93,43.43 56.09,42.43C57.28,41.39 57.88,40.28 57.88,39.08C57.88,37.88 57.5,36.99 56.74,36.4C56.01,35.82 54.92,35.53 53.46,35.53C52.01,35.53 50.85,35.97 49.99,36.84C49.13,37.68 48.7,38.83 48.7,40.29Z">
<aapt:attr name="android:fillColor">
<gradient
android:startX="52"
android:startY="28"
android:endX="52"
android:endY="64"
android:type="linear">
<item android:offset="0" android:color="#FF181B3A"/>
<item android:offset="1" android:color="#FF656ECB"/>
</gradient>
</aapt:attr>
</path>
</vector>

View File

@ -0,0 +1,27 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="104dp"
android:height="180dp"
android:viewportWidth="104"
android:viewportHeight="180">
<path
android:pathData="M0,16h104v164h-104z"
android:fillColor="#76ACFF"/>
<path
android:pathData="M14.18,0H104V16H0L14.18,0Z"
android:fillColor="#E2EDFC"/>
<path
android:pathData="M48.05,46.24C48.05,47.48 48.2,48.39 48.5,48.99H37.17C36.91,47.97 36.78,46.65 36.78,45.02C36.78,39.86 38.51,35.74 41.97,32.67C45.47,29.56 50.46,28 56.94,28C67.31,28 72.5,32.18 72.5,40.54C72.5,43.53 71.77,46.33 70.32,48.93C68.87,51.49 67.1,53.6 65.01,55.26C62.92,56.89 60.83,58.31 58.74,59.55C56.65,60.75 54.83,61.77 53.3,62.62C51.76,63.43 50.93,64.05 50.8,64.48V64.54H67.89L66.1,74.53H32.62L33.46,69.79C33.93,67.1 34.95,64.71 36.53,62.62C38.11,60.49 39.9,58.83 41.9,57.63C43.91,56.44 46.02,55.26 48.24,54.11C50.5,52.92 52.55,51.87 54.38,50.98C56.22,50.04 57.73,48.84 58.93,47.39C60.17,45.94 60.78,44.32 60.78,42.53C60.78,39.46 59.06,37.92 55.6,37.92C53.21,37.92 51.35,38.69 50.03,40.22C48.71,41.72 48.05,43.72 48.05,46.24Z">
<aapt:attr name="android:fillColor">
<gradient
android:startX="52.56"
android:startY="28"
android:endX="52.56"
android:endY="74.53"
android:type="linear">
<item android:offset="0" android:color="#FF181B3A"/>
<item android:offset="1" android:color="#FF656ECB"/>
</gradient>
</aapt:attr>
</path>
</vector>

View File

@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp"
android:height="20dp"
android:viewportWidth="20"
android:viewportHeight="20">
<path
android:pathData="M10,17.792L8.792,16.692C4.5,12.8 1.666,10.233 1.666,7.083C1.666,4.517 3.683,2.5 6.25,2.5C7.7,2.5 9.092,3.175 10,4.242C10.908,3.175 12.3,2.5 13.75,2.5C16.316,2.5 18.333,4.517 18.333,7.083C18.333,10.233 15.5,12.8 11.208,16.7L10,17.792Z"
android:fillColor="#ffffff"/>
</vector>

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_category"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.CategoryActivity">
<RelativeLayout
android:id="@+id/category_top"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_marginTop="50dp"
android:paddingLeft="24dp"
android:paddingRight="24dp">
<ImageView
android:id="@+id/category_back"
android:layout_width="36dp"
android:layout_height="36dp"
android:layout_centerVertical="true"
android:background="@drawable/record_back_bg"
android:src="@drawable/record_back_src"/>
<TextView
android:id="@+id/category_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:textSize="24sp"
android:layout_centerHorizontal="true"/>
</RelativeLayout>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/category_recycle"
android:layout_marginTop="24dp"
android:padding="12dp"
android:layout_centerHorizontal="true"
android:layout_below="@+id/category_top"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RelativeLayout>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@mipmap/into"
tools:context=".activity.IntoActivity">
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@mipmap/into"/>
</LinearLayout>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_relayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
tools:context=".activity.MainActivity">
<androidx.viewpager2.widget.ViewPager2
android:id="@+id/main_viewpaper"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<FrameLayout
android:id="@+id/table_fram"
android:layout_width="340dp"
android:layout_alignParentBottom="true"
android:layout_marginBottom="50dp"
android:layout_centerHorizontal="true"
android:layout_height="50dp">
<com.google.android.material.tabs.TabLayout
android:id="@+id/main_tablelayout"
android:layout_width="340dp"
android:layout_gravity="center_horizontal"
android:background="@drawable/table_bg"
android:layout_height="50dp">
<com.google.android.material.tabs.TabItem
android:layout_width="37dp"
android:icon="@drawable/sounds_src"
android:background="@drawable/table_select"
android:layout_height="wrap_content">
</com.google.android.material.tabs.TabItem>
<com.google.android.material.tabs.TabItem
android:layout_width="37dp"
android:icon="@drawable/add_src"
android:background="@drawable/table_select"
android:layout_height="wrap_content" />
<com.google.android.material.tabs.TabItem
android:icon="@drawable/win_src"
android:layout_height="wrap_content"
android:background="@drawable/table_select"
android:layout_width="37dp" />
<com.google.android.material.tabs.TabItem
android:icon="@drawable/like_src"
android:layout_height="wrap_content"
android:background="@drawable/table_select"
android:layout_width="37dp" />
</com.google.android.material.tabs.TabLayout>
</FrameLayout>
</RelativeLayout>

View File

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.PracyActivity">
<WebView
android:id="@+id/pracy_webview"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>

View File

@ -0,0 +1,106 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/preview_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.PreviewActivity">
<RelativeLayout
android:id="@+id/preview_top"
android:layout_width="match_parent"
android:layout_height="36dp"
android:paddingRight="24dp"
android:paddingLeft="24dp"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
android:layout_marginTop="56dp">
<ImageView
android:id="@+id/preview_back"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="@drawable/record_back_bg"
android:src="@drawable/record_back_src"
android:padding="10dp"/>
<TextView
android:id="@+id/preview_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/New_record"
android:textSize="24sp"
android:textColor="@color/white"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:gravity="center"/>
</RelativeLayout>
<ImageView
android:id="@+id/preview_image"
android:layout_width="170dp"
android:layout_below="@id/preview_top"
android:layout_centerHorizontal="true"
android:layout_marginTop="90dp"
android:layout_height="180dp"/>
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginTop="47dp"
app:cardCornerRadius="30dp"
android:layout_below="@id/preview_image">
<RelativeLayout
android:layout_width="match_parent"
android:layout_marginTop="47dp"
android:paddingLeft="24dp"
android:paddingRight="24dp"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/preview_slience"
android:layout_width="24dp"
android:layout_height="24dp"
android:background="@drawable/no_sounds_bg"
android:layout_centerVertical="true"/>
<SeekBar
android:id="@+id/preview_seekbar"
android:layout_width="242.25dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_height="12dp" />
<ImageView
android:id="@+id/preview_out_sounds"
android:layout_width="24dp"
android:layout_height="24dp"
android:layout_centerVertical="true"
android:background="@drawable/sounds_bg"
android:layout_alignParentEnd="true"/>
</RelativeLayout>
<!-- Auto layout, variables, and unit scale are not yet supported -->
<RelativeLayout
android:id="@+id/preview_control"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_centerHorizontal="true"
android:layout_below="@id/preview_image"
android:paddingLeft="40dp"
android:paddingRight="40dp"
android:layout_marginTop="167dp">
<ImageView
android:id="@+id/preview_re_song"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_centerVertical="true"
android:background="@drawable/no_recycle"/>
<android.widget.Button
android:id="@+id/preview_play"
android:layout_width="70dp"
android:layout_height="70dp"
android:background="@drawable/sounds_play_bg"
android:layout_centerHorizontal="true"/>
<ImageView
android:id="@+id/preview_like"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_centerVertical="true"
android:layout_alignParentEnd="true"
android:background="@drawable/unlike_bg"/>
</RelativeLayout>
</androidx.cardview.widget.CardView>
</RelativeLayout>

View File

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_record"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="20dp"
android:paddingRight="20dp"
tools:context=".activity.RecordSoundActivity">
<!-- Auto layout, variables, and unit scale are not yet supported -->
<RelativeLayout
android:id="@+id/record_top"
android:layout_width="match_parent"
android:layout_height="36dp"
android:layout_centerHorizontal="true"
android:layout_alignParentTop="true"
android:layout_marginTop="56dp">
<ImageView
android:id="@+id/record_back"
android:layout_width="36dp"
android:layout_height="36dp"
android:background="@drawable/record_back_bg"
android:src="@drawable/record_back_src"
android:padding="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/New_record"
android:textSize="25sp"
android:layout_centerHorizontal="true"
android:gravity="center"/>
</RelativeLayout>
<!-- Auto layout, variables, and unit scale are not yet supported -->
<RelativeLayout
android:id="@+id/record_midden"
android:layout_width="325dp"
android:layout_height="325dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true">
<FrameLayout
android:layout_width="325dp"
android:layout_height="325dp">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/record_midden_src"/>
<TextView
android:id="@+id/record_text_time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="00:00:00"
android:textSize="34sp"
android:textColor="@color/white"
android:layout_gravity="center"/>
</FrameLayout>
</RelativeLayout>
<!-- Auto layout, variables, and unit scale are not yet supported -->
<RelativeLayout
android:id="@+id/record_button"
android:layout_width="100dp"
android:layout_height="100dp"
android:layout_centerHorizontal="true"
android:layout_below="@id/record_midden"
android:background="@drawable/record_play_src" />
</RelativeLayout>

View File

@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_setname"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.SetNameActivity">
<ImageView
android:id="@+id/set_name_img"
android:layout_width="285dp"
android:layout_height="190dp"
android:layout_centerHorizontal="true"
android:layout_marginTop="100dp"
android:background="@mipmap/set_name_image"/>
<EditText
android:id="@+id/set_name"
android:layout_width="237dp"
android:layout_height="50dp"
android:layout_below="@id/set_name_img"
android:layout_centerHorizontal="true"
android:layout_marginTop="50dp"
android:gravity="center"
android:hint="@string/set_name" />
<android.widget.Button
android:id="@+id/set_name_play"
android:layout_width="70dp"
android:layout_height="70dp"
android:layout_above="@+id/save_name"
android:layout_marginBottom="50dp"
android:background="@drawable/record_play_src"
android:layout_marginTop="70dp"
android:layout_centerHorizontal="true"/>
<RelativeLayout
android:id="@+id/save_name"
android:layout_width="327dp"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="50dp"
android:layout_height="wrap_content">
<TextView
android:layout_width="327dp"
android:layout_height="wrap_content"
android:background="@drawable/save_name_bg"
android:gravity="center"
android:text="@string/save_sounds"
android:textColor="@color/white"
android:textSize="19sp"/>
</RelativeLayout>
</RelativeLayout>

View File

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/main_setting"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".activity.SettingActivity">
<RelativeLayout
android:id="@+id/set_top"
android:layout_width="match_parent"
android:padding="24dp"
android:layout_marginTop="40dp"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/image_back"
android:layout_width="36dp"
android:layout_height="36dp"
android:padding="6dp"
android:background="@drawable/record_back_bg"
android:src="@drawable/record_back_src"/>
<TextView
android:id="@+id/set_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/set_title"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:textSize="28sp"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/set_privacy"
android:layout_below="@+id/set_top"
android:layout_width="match_parent"
android:paddingRight="24dp"
android:paddingLeft="24dp"
android:layout_height="50dp">
<ImageView
android:layout_width="20dp"
android:background="@drawable/set_pravicy_src"
android:layout_centerVertical="true"
android:layout_height="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/set_privacy"
android:textSize="19sp"
android:layout_centerVertical="true"
android:layout_marginStart="50dp"/>
<ImageView
android:layout_width="20dp"
android:background="@drawable/set_go_src"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_height="20dp"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/set_share"
android:layout_below="@+id/set_privacy"
android:layout_width="match_parent"
android:paddingRight="24dp"
android:paddingLeft="24dp"
android:layout_marginTop="10dp"
android:layout_height="50dp">
<ImageView
android:layout_width="20dp"
android:background="@drawable/set_share_src"
android:layout_centerVertical="true"
android:layout_height="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/set_share"
android:textSize="19sp"
android:layout_centerVertical="true"
android:layout_marginStart="50dp"/>
<ImageView
android:layout_width="20dp"
android:background="@drawable/set_go_src"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_height="20dp"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/set_version"
android:layout_below="@+id/set_share"
android:layout_width="match_parent"
android:paddingRight="24dp"
android:paddingLeft="24dp"
android:layout_marginTop="10dp"
android:layout_height="50dp">
<ImageView
android:layout_width="20dp"
android:background="@drawable/set_version_src"
android:layout_centerVertical="true"
android:layout_height="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="@string/set_version"
android:textSize="19sp"
android:layout_marginStart="50dp"/>
<ImageView
android:layout_width="20dp"
android:background="@drawable/set_go_src"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_height="20dp"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/set_grade"
android:layout_below="@+id/set_version"
android:layout_width="match_parent"
android:paddingRight="24dp"
android:paddingLeft="24dp"
android:layout_marginTop="10dp"
android:layout_height="50dp">
<ImageView
android:layout_width="20dp"
android:background="@drawable/set_grade"
android:layout_centerVertical="true"
android:layout_height="20dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="@string/set_grade"
android:textSize="19sp"
android:layout_marginStart="50dp"/>
<ImageView
android:layout_width="20dp"
android:background="@drawable/set_go_src"
android:layout_alignParentEnd="true"
android:layout_centerVertical="true"
android:layout_height="20dp"/>
</RelativeLayout>
</RelativeLayout>

View File

@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.cardview.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:paddingLeft="24dp"
android:paddingRight="24dp"
android:layout_width="match_parent"
app:cardCornerRadius="24dp"
android:layout_gravity="center_horizontal"
android:layout_height="wrap_content">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_height="wrap_content">
<TextView
android:id="@+id/dialog_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="29sp"
android:text="@string/add_sound"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"/>
<LinearLayout
android:id="@+id/dialog_import"
android:layout_width="327dp"
android:orientation="horizontal"
android:background="@drawable/add_select_bg"
android:gravity="center"
android:layout_marginTop="20dp"
android:layout_below="@+id/dialog_text"
android:layout_height="wrap_content">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/dialog_import"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:text="@string/import_audio"
android:textColor="@color/white"
android:textSize="19sp"/>
</LinearLayout>
<LinearLayout
android:id="@+id/dialog_create"
android:layout_width="327dp"
android:orientation="horizontal"
android:background="@drawable/add_select_bg"
android:gravity="center"
android:layout_marginTop="20dp"
android:layout_below="@+id/dialog_import"
android:layout_marginBottom="80dp"
android:layout_height="wrap_content">
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:src="@drawable/dialog_creat"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="12dp"
android:text="@string/Record_sound"
android:textColor="@color/white"
android:textSize="19sp"/>
</LinearLayout>
</RelativeLayout>
</androidx.cardview.widget.CardView>

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_marginTop="20dp"
android:id="@+id/category_layout">
<RelativeLayout
android:layout_width="110dp"
android:layout_height="108dp">
<androidx.cardview.widget.CardView
android:layout_width="110dp"
android:layout_height="108dp"
app:cardCornerRadius="24dp">
<ImageView
android:id="@+id/category_bg"
android:layout_width="110dp"
android:scaleType="centerCrop"
android:layout_height="108dp"/>
</androidx.cardview.widget.CardView>
</RelativeLayout>
<RelativeLayout
android:layout_width="110dp"
android:layout_height="108dp">
<TextView
android:id="@+id/category_sounds_text"
android:layout_width="75dp"
android:layout_height="20dp"
android:textColor="@color/white"
android:textSize="18sp"
android:layout_centerHorizontal="true"/>
<ImageView
android:id="@+id/category_sounds_image"
android:layout_below="@+id/category_sounds_text"
android:layout_width="95dp"
android:layout_height="100dp"
android:layout_centerHorizontal="true"
android:scaleType="fitXY"/>
</RelativeLayout>
</FrameLayout>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
xmlns:app="http://schemas.android.com/apk/res-auto">
<RelativeLayout
android:id="@+id/fav_layout"
android:layout_width="match_parent"
android:layout_gravity="center_horizontal"
android:layout_height="80dp">
<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_height="80dp"
app:cardCornerRadius="30dp">
<ImageView
android:id="@+id/fav_image_bg"
android:layout_width="match_parent"
android:layout_height="80dp"/>
</androidx.cardview.widget.CardView>
</RelativeLayout>
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="80dp"
android:gravity="center_vertical"
android:layout_marginStart="50dp">
<ImageView
android:id="@+id/fav_image"
android:layout_width="60dp"
android:layout_height="60dp"/>
<TextView
android:id="@+id/fav_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toEndOf="@+id/fav_image"
android:layout_centerVertical="true"
android:textSize="24sp"
android:layout_marginStart="10dp"/>
</RelativeLayout>
</FrameLayout>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="150dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/re_sounds_layout"
android:layout_marginTop="20dp">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:layout_width="171.5dp"
android:layout_height="110dp"
android:layout_marginTop="39dp"
android:id="@+id/re_sounds_bg"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/re_sounds_image"
android:layout_width="120dp"
android:layout_height="100dp"
android:layout_marginLeft="42.5dp"
android:scaleType="fitCenter"/>
<TextView
android:id="@+id/re_sounds_text"
android:layout_width="116dp"
android:layout_centerHorizontal="true"
android:layout_below="@+id/re_sounds_image"
android:textSize="20sp"
android:textColor="@color/white"
android:gravity="bottom"
android:paddingBottom="5dp"
android:layout_height="40dp" />
</RelativeLayout>
</FrameLayout>

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#F9F8FF"
tools:context=".fragment.FavoriteFragment">
<!-- TODO: Update blank fragment layout -->
<TextView
android:id="@+id/fav_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/fav_sounds"
android:textSize="28sp"
android:layout_marginTop="50dp"
android:layout_centerHorizontal="true"/>
<ImageView
android:id="@+id/fav_null_img"
android:layout_width="200dp"
android:layout_height="200dp"
android:visibility="gone"
android:background="@mipmap/null_fav"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"/>
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/fav_recycle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/fav_title"
android:padding="24dp"/>
</RelativeLayout>

Some files were not shown because too many files have changed in this diff Show More