版本V1.0.0(1)
This commit is contained in:
commit
b90b345a6b
17
.gitignore
vendored
Normal file
17
.gitignore
vendored
Normal 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
BIN
ScaryPrank.jks
Normal file
Binary file not shown.
1
app/.gitignore
vendored
Normal file
1
app/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/build
|
||||
67
app/build.gradle.kts
Normal file
67
app/build.gradle.kts
Normal 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
27
app/proguard-rules.pro
vendored
Normal 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 { *; }
|
||||
@ -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());
|
||||
}
|
||||
}
|
||||
55
app/src/main/AndroidManifest.xml
Normal file
55
app/src/main/AndroidManifest.xml
Normal 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>
|
||||
BIN
app/src/main/assets/myfront.ttf
Normal file
BIN
app/src/main/assets/myfront.ttf
Normal file
Binary file not shown.
BIN
app/src/main/assets/myfront1.ttf
Normal file
BIN
app/src/main/assets/myfront1.ttf
Normal file
Binary file not shown.
BIN
app/src/main/assets/myfront2.ttf
Normal file
BIN
app/src/main/assets/myfront2.ttf
Normal file
Binary file not shown.
3390
app/src/main/assets/prank.json
Normal file
3390
app/src/main/assets/prank.json
Normal file
File diff suppressed because it is too large
Load Diff
86
app/src/main/assets/privacy.html
Normal file
86
app/src/main/assets/privacy.html
Normal 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>Children’s 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>
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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();;
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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");
|
||||
}
|
||||
}
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
@ -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-4、RAW_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;
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -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"));
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
@ -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();
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -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;
|
||||
|
||||
}
|
||||
}
|
||||
@ -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;
|
||||
}
|
||||
30
app/src/main/res/drawable-v24/ic_launcher_foreground.xml
Normal file
30
app/src/main/res/drawable-v24/ic_launcher_foreground.xml
Normal 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>
|
||||
18
app/src/main/res/drawable/add_select_bg.xml
Normal file
18
app/src/main/res/drawable/add_select_bg.xml
Normal 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>
|
||||
20
app/src/main/res/drawable/add_src.xml
Normal file
20
app/src/main/res/drawable/add_src.xml
Normal 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>
|
||||
18
app/src/main/res/drawable/adds_bg.xml
Normal file
18
app/src/main/res/drawable/adds_bg.xml
Normal 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>
|
||||
12
app/src/main/res/drawable/adds_src.xml
Normal file
12
app/src/main/res/drawable/adds_src.xml
Normal 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>
|
||||
9
app/src/main/res/drawable/delete_src.xml
Normal file
9
app/src/main/res/drawable/delete_src.xml
Normal 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>
|
||||
18
app/src/main/res/drawable/dia_bg.xml
Normal file
18
app/src/main/res/drawable/dia_bg.xml
Normal 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>
|
||||
20
app/src/main/res/drawable/dialog_creat.xml
Normal file
20
app/src/main/res/drawable/dialog_creat.xml
Normal 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>
|
||||
12
app/src/main/res/drawable/dialog_import.xml
Normal file
12
app/src/main/res/drawable/dialog_import.xml
Normal 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>
|
||||
48
app/src/main/res/drawable/fav_re_image_bg.xml
Normal file
48
app/src/main/res/drawable/fav_re_image_bg.xml
Normal 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>
|
||||
170
app/src/main/res/drawable/ic_launcher_background.xml
Normal file
170
app/src/main/res/drawable/ic_launcher_background.xml
Normal 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>
|
||||
9
app/src/main/res/drawable/like_bg.xml
Normal file
9
app/src/main/res/drawable/like_bg.xml
Normal 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>
|
||||
20
app/src/main/res/drawable/like_src.xml
Normal file
20
app/src/main/res/drawable/like_src.xml
Normal 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>
|
||||
34
app/src/main/res/drawable/no_recycle.xml
Normal file
34
app/src/main/res/drawable/no_recycle.xml
Normal 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>
|
||||
27
app/src/main/res/drawable/no_sounds_bg.xml
Normal file
27
app/src/main/res/drawable/no_sounds_bg.xml
Normal 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>
|
||||
9
app/src/main/res/drawable/radio_like_bg.xml
Normal file
9
app/src/main/res/drawable/radio_like_bg.xml
Normal 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>
|
||||
18
app/src/main/res/drawable/radio_list_bg.xml
Normal file
18
app/src/main/res/drawable/radio_list_bg.xml
Normal 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>
|
||||
9
app/src/main/res/drawable/radio_unlike_bg.xml
Normal file
9
app/src/main/res/drawable/radio_unlike_bg.xml
Normal 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>
|
||||
9
app/src/main/res/drawable/radio_view_delete.xml
Normal file
9
app/src/main/res/drawable/radio_view_delete.xml
Normal 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>
|
||||
18
app/src/main/res/drawable/record_back_bg.xml
Normal file
18
app/src/main/res/drawable/record_back_bg.xml
Normal 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>
|
||||
13
app/src/main/res/drawable/record_back_src.xml
Normal file
13
app/src/main/res/drawable/record_back_src.xml
Normal 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>
|
||||
40
app/src/main/res/drawable/record_midden_src.xml
Normal file
40
app/src/main/res/drawable/record_midden_src.xml
Normal 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>
|
||||
14
app/src/main/res/drawable/record_play_src.xml
Normal file
14
app/src/main/res/drawable/record_play_src.xml
Normal 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>
|
||||
14
app/src/main/res/drawable/record_stop_src.xml
Normal file
14
app/src/main/res/drawable/record_stop_src.xml
Normal 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>
|
||||
34
app/src/main/res/drawable/recycle_bg.xml
Normal file
34
app/src/main/res/drawable/recycle_bg.xml
Normal 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>
|
||||
18
app/src/main/res/drawable/redio_view_like_bg.xml
Normal file
18
app/src/main/res/drawable/redio_view_like_bg.xml
Normal 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>
|
||||
18
app/src/main/res/drawable/save_name_bg.xml
Normal file
18
app/src/main/res/drawable/save_name_bg.xml
Normal 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>
|
||||
9
app/src/main/res/drawable/set_go_src.xml
Normal file
9
app/src/main/res/drawable/set_go_src.xml
Normal 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>
|
||||
5
app/src/main/res/drawable/set_grade.xml
Normal file
5
app/src/main/res/drawable/set_grade.xml
Normal 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>
|
||||
19
app/src/main/res/drawable/set_name_bg.xml
Normal file
19
app/src/main/res/drawable/set_name_bg.xml
Normal 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>
|
||||
9
app/src/main/res/drawable/set_pravicy_src.xml
Normal file
9
app/src/main/res/drawable/set_pravicy_src.xml
Normal 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>
|
||||
9
app/src/main/res/drawable/set_share_src.xml
Normal file
9
app/src/main/res/drawable/set_share_src.xml
Normal 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>
|
||||
9
app/src/main/res/drawable/set_version_src.xml
Normal file
9
app/src/main/res/drawable/set_version_src.xml
Normal 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>
|
||||
18
app/src/main/res/drawable/sett.xml
Normal file
18
app/src/main/res/drawable/sett.xml
Normal 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>
|
||||
28
app/src/main/res/drawable/sounds_bg.xml
Normal file
28
app/src/main/res/drawable/sounds_bg.xml
Normal 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>
|
||||
18
app/src/main/res/drawable/sounds_play_bg.xml
Normal file
18
app/src/main/res/drawable/sounds_play_bg.xml
Normal 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>
|
||||
20
app/src/main/res/drawable/sounds_src.xml
Normal file
20
app/src/main/res/drawable/sounds_src.xml
Normal 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>
|
||||
21
app/src/main/res/drawable/sounds_stop_bg.xml
Normal file
21
app/src/main/res/drawable/sounds_stop_bg.xml
Normal 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>
|
||||
23
app/src/main/res/drawable/table_bg.xml
Normal file
23
app/src/main/res/drawable/table_bg.xml
Normal 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>
|
||||
18
app/src/main/res/drawable/table_select.xml
Normal file
18
app/src/main/res/drawable/table_select.xml
Normal 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>
|
||||
9
app/src/main/res/drawable/unlike_bg.xml
Normal file
9
app/src/main/res/drawable/unlike_bg.xml
Normal 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>
|
||||
9
app/src/main/res/drawable/win_bottom_bg1.xml
Normal file
9
app/src/main/res/drawable/win_bottom_bg1.xml
Normal 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>
|
||||
9
app/src/main/res/drawable/win_like.xml
Normal file
9
app/src/main/res/drawable/win_like.xml
Normal 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>
|
||||
18
app/src/main/res/drawable/win_re_image_bg.xml
Normal file
18
app/src/main/res/drawable/win_re_image_bg.xml
Normal 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>
|
||||
37
app/src/main/res/drawable/win_src.xml
Normal file
37
app/src/main/res/drawable/win_src.xml
Normal 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>
|
||||
27
app/src/main/res/drawable/win_three_bottom_bg.xml
Normal file
27
app/src/main/res/drawable/win_three_bottom_bg.xml
Normal 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>
|
||||
27
app/src/main/res/drawable/win_two_bottom_bg.xml
Normal file
27
app/src/main/res/drawable/win_two_bottom_bg.xml
Normal 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>
|
||||
9
app/src/main/res/drawable/win_unlike.xml
Normal file
9
app/src/main/res/drawable/win_unlike.xml
Normal 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>
|
||||
39
app/src/main/res/layout/activity_category.xml
Normal file
39
app/src/main/res/layout/activity_category.xml
Normal 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>
|
||||
14
app/src/main/res/layout/activity_into.xml
Normal file
14
app/src/main/res/layout/activity_into.xml
Normal 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>
|
||||
52
app/src/main/res/layout/activity_main.xml
Normal file
52
app/src/main/res/layout/activity_main.xml
Normal 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>
|
||||
14
app/src/main/res/layout/activity_pracy.xml
Normal file
14
app/src/main/res/layout/activity_pracy.xml
Normal 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>
|
||||
106
app/src/main/res/layout/activity_preview.xml
Normal file
106
app/src/main/res/layout/activity_preview.xml
Normal 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>
|
||||
67
app/src/main/res/layout/activity_record_sound.xml
Normal file
67
app/src/main/res/layout/activity_record_sound.xml
Normal 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>
|
||||
51
app/src/main/res/layout/activity_set_name.xml
Normal file
51
app/src/main/res/layout/activity_set_name.xml
Normal 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>
|
||||
139
app/src/main/res/layout/activity_setting.xml
Normal file
139
app/src/main/res/layout/activity_setting.xml
Normal 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>
|
||||
68
app/src/main/res/layout/add_sounds_dialog.xml
Normal file
68
app/src/main/res/layout/add_sounds_dialog.xml
Normal 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>
|
||||
41
app/src/main/res/layout/category_recycle.xml
Normal file
41
app/src/main/res/layout/category_recycle.xml
Normal 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>
|
||||
40
app/src/main/res/layout/fav_recycle.xml
Normal file
40
app/src/main/res/layout/fav_recycle.xml
Normal 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>
|
||||
38
app/src/main/res/layout/fra_recycle_sounds.xml
Normal file
38
app/src/main/res/layout/fra_recycle_sounds.xml
Normal 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>
|
||||
35
app/src/main/res/layout/fragment_favorite.xml
Normal file
35
app/src/main/res/layout/fragment_favorite.xml
Normal 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
Loading…
Reference in New Issue
Block a user