V1.0.0(1)
18
.gitignore
vendored
Normal file
@ -0,0 +1,18 @@
|
||||
*.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
|
||||
.idea/
|
||||
app/release/originalityprank_v1.0.0(1)_07_19_18_18-release.apk
|
||||
app/release/originalityprank_v1.0.0(1)_07_22_09_44-release.aab
|
||||
1
app/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
/build
|
||||
63
app/build.gradle.kts
Normal file
@ -0,0 +1,63 @@
|
||||
import java.util.Date
|
||||
import java.text.SimpleDateFormat
|
||||
plugins {
|
||||
id("com.android.application")
|
||||
id("org.jetbrains.kotlin.android")
|
||||
id ("kotlin-kapt")
|
||||
}
|
||||
val timestamp = SimpleDateFormat("MM_dd_HH_mm").format(Date())
|
||||
android {
|
||||
namespace = "com.fun.originalityprank"
|
||||
compileSdk = 34
|
||||
|
||||
defaultConfig {
|
||||
applicationId = "com.fun.originalityprank"
|
||||
minSdk = 23
|
||||
targetSdk = 34
|
||||
versionCode = 1
|
||||
versionName = "1.0.0"
|
||||
setProperty("archivesBaseName", "originalityprank_v" + versionName + "(${versionCode})_$timestamp")
|
||||
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
isShrinkResources =true
|
||||
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("androidx.appcompat:appcompat:1.7.0")
|
||||
implementation("com.google.android.material:material:1.12.0")
|
||||
implementation("androidx.constraintlayout:constraintlayout:2.1.4")
|
||||
testImplementation("junit:junit:4.13.2")
|
||||
androidTestImplementation("androidx.test.ext:junit:1.2.1")
|
||||
androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")
|
||||
|
||||
implementation("com.github.bumptech.glide:glide:4.16.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")
|
||||
|
||||
}
|
||||
BIN
app/originalityprank.jks
Normal file
BIN
app/originalitypranktest.jks
Normal file
32
app/proguard-rules.pro
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
# 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
|
||||
-keepclassmembers class com.fun.originalityprank.PrankSkin{
|
||||
public static final java.lang.String DB_Name;
|
||||
public static final int DB_Version;
|
||||
}
|
||||
-keepclassmembers class *{
|
||||
@androidx.room.Query <methods>;
|
||||
}
|
||||
|
||||
-keep class com.fun.originalityprank.data.MydataBase { *; }
|
||||
-keep class com.fun.originalityprank.data.LikeDAO { *; }
|
||||
-keep class com.fun.originalityprank.data.AllData { *; }
|
||||
20
app/release/output-metadata.json
Normal file
@ -0,0 +1,20 @@
|
||||
{
|
||||
"version": 3,
|
||||
"artifactType": {
|
||||
"type": "APK",
|
||||
"kind": "Directory"
|
||||
},
|
||||
"applicationId": "com.fun.originalityprank.test",
|
||||
"variantName": "release",
|
||||
"elements": [
|
||||
{
|
||||
"type": "SINGLE",
|
||||
"filters": [],
|
||||
"attributes": [],
|
||||
"versionCode": 1,
|
||||
"versionName": "1.0.0",
|
||||
"outputFile": "originalityprank_v1.0.0(1)_07_19_18_18-release.apk"
|
||||
}
|
||||
],
|
||||
"elementType": "File"
|
||||
}
|
||||
@ -0,0 +1,26 @@
|
||||
package com.fun.originalityprank;
|
||||
|
||||
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.fun.originalityprank", appContext.getPackageName());
|
||||
}
|
||||
}
|
||||
39
app/src/main/AndroidManifest.xml
Normal file
@ -0,0 +1,39 @@
|
||||
<?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" />
|
||||
|
||||
<application
|
||||
android:name=".PrankSkin"
|
||||
android:allowBackup="true"
|
||||
android:dataExtractionRules="@xml/data_extraction_rules"
|
||||
android:fullBackupContent="@xml/backup_rules"
|
||||
android:icon="@mipmap/logo"
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/logo"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/AppTheme"
|
||||
tools:targetApi="31">
|
||||
<activity
|
||||
android:name=".activity.SplashActivity"
|
||||
android:exported="true">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity
|
||||
android:name=".activity.PrewViewActivity"
|
||||
android:exported="false" />
|
||||
<activity
|
||||
android:name=".activity.ListActivity"
|
||||
android:exported="false" />
|
||||
<activity
|
||||
android:name=".activity.MainActivity"
|
||||
android:exported="true">
|
||||
</activity>
|
||||
</application>
|
||||
|
||||
</manifest>
|
||||
BIN
app/src/main/assets/PaytoneOne-Regular.ttf
Normal file
BIN
app/src/main/assets/WendyOne-Regular.ttf
Normal file
3390
app/src/main/assets/prank.json
Normal file
61
app/src/main/java/com/fun/originalityprank/PrankSkin.java
Normal file
@ -0,0 +1,61 @@
|
||||
package com.fun.originalityprank;
|
||||
|
||||
import android.app.Application;
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.SharedPreferences;
|
||||
import android.util.Log;
|
||||
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import com.fun.originalityprank.data.AllData;
|
||||
import com.fun.originalityprank.data.MydataBase;
|
||||
import com.fun.originalityprank.tool.Mytools;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class PrankSkin extends Application {
|
||||
|
||||
public static final String DB_Name = "prank_database";
|
||||
public static final String Table_Name = "prank_table";
|
||||
public static final int DB_Version = 1;
|
||||
private static Context context;
|
||||
private List<AllData> allData = new ArrayList<>();
|
||||
private SharedPreferences sp;
|
||||
private static boolean isinsert;
|
||||
private SharedPreferences.Editor editor;
|
||||
public static final String AD_BROADCAST = "ON_SUCCESS";
|
||||
private static final String PREFS_NAME = "MyPrefs";
|
||||
private static final String KEY_IS_INSERTED = "isinserted";
|
||||
|
||||
@Override
|
||||
public void onCreate() {
|
||||
super.onCreate();
|
||||
context = getApplicationContext();
|
||||
|
||||
allData = Mytools.parseJsonToList("prank.json");
|
||||
sp = getSharedPreferences(PREFS_NAME, MODE_PRIVATE);
|
||||
isinsert = sp.getBoolean(KEY_IS_INSERTED, false);
|
||||
if (!isinsert) {
|
||||
Mytools.runIO(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
MydataBase.getInstance().likeDAO().insertAll(allData);
|
||||
editor = sp.edit();
|
||||
editor.putBoolean(KEY_IS_INSERTED, true);
|
||||
editor.commit();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static Context getContext() {
|
||||
|
||||
return context;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,93 @@
|
||||
package com.fun.originalityprank.activity;
|
||||
|
||||
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 androidx.recyclerview.widget.GridLayoutManager;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.graphics.Typeface;
|
||||
import android.os.Bundle;
|
||||
import android.view.View;
|
||||
|
||||
import com.fun.originalityprank.R;
|
||||
import com.fun.originalityprank.adapter.ListAdapter;
|
||||
import com.fun.originalityprank.adapter.ThumAdapter;
|
||||
import com.fun.originalityprank.data.AllData;
|
||||
import com.fun.originalityprank.data.MydataBase;
|
||||
import com.fun.originalityprank.databinding.ActivityListBinding;
|
||||
import com.fun.originalityprank.tool.Mytools;
|
||||
import com.fun.originalityprank.tool.StaticValue;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class ListActivity extends AppCompatActivity {
|
||||
ActivityListBinding binding;
|
||||
private List<AllData> allData = new ArrayList<>();
|
||||
private ListAdapter thumAdapter;
|
||||
private int color;
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
binding = ActivityListBinding.inflate(getLayoutInflater());
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
EdgeToEdge.enable(this);
|
||||
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.activity_list), (v, insets) -> {
|
||||
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
|
||||
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
|
||||
return insets;
|
||||
});
|
||||
|
||||
|
||||
initData();
|
||||
|
||||
|
||||
initEvent();
|
||||
|
||||
}
|
||||
|
||||
private void initEvent() {
|
||||
binding.back.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void initData() {
|
||||
Intent intent = getIntent();
|
||||
color = intent.getIntExtra(StaticValue.KEY_Color, 0);
|
||||
String name = intent.getStringExtra(StaticValue.KEY_CategoryName);
|
||||
binding.prewListTitle.setText(name);
|
||||
Mytools.runIO(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
allData = MydataBase.getInstance().likeDAO().getlist(name);
|
||||
if (!allData.isEmpty()) {
|
||||
runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
initView(allData);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void initView(List<AllData> allData) {
|
||||
thumAdapter = new ListAdapter(this, allData,color);
|
||||
binding.prewListRv.setAdapter(thumAdapter);
|
||||
binding.prewListRv.setLayoutManager(new GridLayoutManager(this, 2));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,102 @@
|
||||
package com.fun.originalityprank.activity;
|
||||
|
||||
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 androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
|
||||
import com.fun.originalityprank.PrankSkin;
|
||||
import com.fun.originalityprank.R;
|
||||
import com.fun.originalityprank.adapter.PagerAdapter;
|
||||
import com.fun.originalityprank.databinding.ActivityMainBinding;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
|
||||
public class MainActivity extends AppCompatActivity {
|
||||
|
||||
ActivityMainBinding binding;
|
||||
private BroadcastReceiver receiver;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
binding = ActivityMainBinding.inflate(getLayoutInflater());
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
EdgeToEdge.enable(this);
|
||||
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.activity_main), (v, insets) -> {
|
||||
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
|
||||
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
|
||||
return insets;
|
||||
});
|
||||
|
||||
|
||||
LocalBroadcastManager.getInstance(this).registerReceiver(new BroadcastReceiver() {
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
if (intent.getAction().equals(PrankSkin.AD_BROADCAST)) {
|
||||
Log.e("zzj", "dawlkdawldkhalwkdhalwjdhawl");
|
||||
} else {
|
||||
Log.e("zzj", " 111 ");
|
||||
}
|
||||
}
|
||||
}, new IntentFilter(PrankSkin.AD_BROADCAST));
|
||||
|
||||
|
||||
initView();
|
||||
setTab(0);
|
||||
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
|
||||
PagerAdapter pagerAdapter = new PagerAdapter(getSupportFragmentManager());
|
||||
binding.mainPager.setAdapter(pagerAdapter);
|
||||
binding.mainTab.setupWithViewPager(binding.mainPager);
|
||||
binding.mainPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
|
||||
@Override
|
||||
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageSelected(int position) {
|
||||
setTab(position);
|
||||
LocalBroadcastManager.getInstance(MainActivity.this).sendBroadcast(new Intent(PrankSkin.AD_BROADCAST));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPageScrollStateChanged(int state) {
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void setTab(int position) {
|
||||
for (int i = 0; i < binding.mainTab.getTabCount(); i++) {
|
||||
final TabLayout.Tab tab = binding.mainTab.getTabAt(i);
|
||||
if (tab != null) {
|
||||
switch (i) {
|
||||
case 0:
|
||||
tab.setIcon(position == 0 ? R.drawable.main_check : R.drawable.main_uncheck);
|
||||
break;
|
||||
case 1:
|
||||
tab.setIcon(position == 1 ? R.drawable.like_check : R.drawable.like_uncheck);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,324 @@
|
||||
package com.fun.originalityprank.activity;
|
||||
|
||||
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 androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.IntentFilter;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.media.AudioAttributes;
|
||||
import android.media.AudioManager;
|
||||
import android.media.MediaPlayer;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
import android.widget.SeekBar;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.request.target.CustomTarget;
|
||||
import com.bumptech.glide.request.transition.Transition;
|
||||
import com.fun.originalityprank.PrankSkin;
|
||||
import com.fun.originalityprank.R;
|
||||
import com.fun.originalityprank.data.AllData;
|
||||
import com.fun.originalityprank.data.MydataBase;
|
||||
import com.fun.originalityprank.databinding.ActivityPrewViewBinding;
|
||||
import com.fun.originalityprank.tool.Mytools;
|
||||
import com.fun.originalityprank.tool.SeekBarBroadCast;
|
||||
import com.fun.originalityprank.tool.StaticValue;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
public class PrewViewActivity extends AppCompatActivity {
|
||||
ActivityPrewViewBinding binding;
|
||||
private AllData data = new AllData();
|
||||
private String title, name;
|
||||
private boolean islike = false;
|
||||
private boolean isloop = false;
|
||||
private boolean isplayer = false;
|
||||
private MediaPlayer mediaPlayer;
|
||||
private AudioManager audioManager;
|
||||
private SeekBarBroadCast seekBarBroadCast;
|
||||
private IntentFilter filter = new IntentFilter();
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
binding = ActivityPrewViewBinding.inflate(getLayoutInflater());
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
EdgeToEdge.enable(this);
|
||||
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.activity_prew), (v, insets) -> {
|
||||
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
|
||||
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
|
||||
return insets;
|
||||
});
|
||||
|
||||
|
||||
hidemenu();
|
||||
initData();
|
||||
initEvent();
|
||||
|
||||
audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
|
||||
binding.seekbar.setMax(audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC));
|
||||
binding.seekbar.setProgress(audioManager.getStreamVolume(AudioManager.STREAM_MUSIC));
|
||||
if (audioManager.getStreamVolume(AudioManager.STREAM_MUSIC) == 0) {
|
||||
binding.volumeleft.setBackgroundResource(R.drawable.icon_volume_null);
|
||||
} else {
|
||||
binding.volumeleft.setBackgroundResource(R.drawable.icon_volume_left);
|
||||
}
|
||||
seekBarBroadCast = new SeekBarBroadCast(audioManager, binding.seekbar);
|
||||
|
||||
filter.addAction("android.media.VOLUME_CHANGED_ACTION");
|
||||
registerReceiver(seekBarBroadCast, filter);
|
||||
|
||||
}
|
||||
|
||||
private void initEvent() {
|
||||
|
||||
binding.preBack.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
finish();
|
||||
}
|
||||
});
|
||||
|
||||
binding.preLoop.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
checkloop();
|
||||
}
|
||||
});
|
||||
|
||||
binding.preLike.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
checkLike();
|
||||
}
|
||||
});
|
||||
|
||||
binding.prePlay.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
try {
|
||||
playprank();
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
binding.volumeright.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
int a = binding.seekbar.getProgress();
|
||||
|
||||
binding.seekbar.setProgress(a + 10);
|
||||
}
|
||||
});
|
||||
|
||||
binding.volumeleft.setOnClickListener(v -> binding.seekbar.setProgress(0));
|
||||
binding.seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
|
||||
@Override
|
||||
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
|
||||
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, progress, 0);
|
||||
if (audioManager.getStreamVolume(AudioManager.STREAM_MUSIC) == 0) {
|
||||
binding.volumeleft.setBackgroundResource(R.drawable.icon_volume_null);
|
||||
} else {
|
||||
binding.volumeleft.setBackgroundResource(R.drawable.icon_volume_left);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStartTrackingTouch(SeekBar seekBar) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onStopTrackingTouch(SeekBar seekBar) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
private void playprank() throws IOException {
|
||||
if (!isplayer) {
|
||||
starprank();
|
||||
} else {
|
||||
stopprank();
|
||||
}
|
||||
}
|
||||
|
||||
private void stopprank() {
|
||||
isplayer = false;
|
||||
binding.prePlay.setBackgroundResource(R.drawable.icon_play);
|
||||
if (mediaPlayer != null) {
|
||||
mediaPlayer.release();
|
||||
mediaPlayer = null;
|
||||
}
|
||||
}
|
||||
|
||||
private void starprank() throws IOException {
|
||||
isplayer = true;
|
||||
binding.prePlay.setBackgroundResource(R.drawable.icon_pause);
|
||||
mediaPlayer = new MediaPlayer();
|
||||
mediaPlayer.setAudioAttributes(
|
||||
new AudioAttributes.Builder()
|
||||
.setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
|
||||
.setUsage(AudioAttributes.USAGE_MEDIA)
|
||||
.build());
|
||||
mediaPlayer.setDataSource(getApplicationContext(), Uri.parse(data.getMp3Url()));
|
||||
mediaPlayer.setOnPreparedListener(mp -> {
|
||||
if (isloop) {
|
||||
mediaPlayer.setLooping(true);
|
||||
|
||||
}
|
||||
mediaPlayer.start();
|
||||
});
|
||||
mediaPlayer.setOnCompletionListener(mp -> {
|
||||
if (isloop) {
|
||||
binding.prePlay.setBackgroundResource(R.drawable.icon_pause);
|
||||
} else {
|
||||
binding.prePlay.setBackgroundResource(R.drawable.icon_play);
|
||||
isplayer = true;
|
||||
}
|
||||
});
|
||||
mediaPlayer.prepareAsync();
|
||||
}
|
||||
|
||||
private void checkLike() {
|
||||
|
||||
if (!islike) {
|
||||
islike = true;
|
||||
data.setLike(true);
|
||||
binding.preImageLike.setBackgroundResource(R.drawable.icon_pre_like);
|
||||
Mytools.runIO(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
MydataBase.getInstance().likeDAO().update(data);
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
islike = false;
|
||||
data.setLike(false);
|
||||
binding.preImageLike.setBackgroundResource(R.drawable.icon_pre_unlike);
|
||||
Mytools.runIO(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
MydataBase.getInstance().likeDAO().update(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void checkloop() {
|
||||
|
||||
if (!isloop) {
|
||||
isloop = true;
|
||||
binding.preImageLoop.setBackgroundResource(R.drawable.icon_loop);
|
||||
if (mediaPlayer != null) {
|
||||
mediaPlayer.setLooping(true);
|
||||
|
||||
}
|
||||
} else {
|
||||
isloop = false;
|
||||
binding.preImageLoop.setBackgroundResource(R.drawable.icon_unloop);
|
||||
if (mediaPlayer != null) {
|
||||
mediaPlayer.setLooping(false);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private void initData() {
|
||||
|
||||
Intent intent = getIntent();
|
||||
title = intent.getStringExtra(StaticValue.KEY_TITLE);
|
||||
name = intent.getStringExtra(StaticValue.KEY_CategoryName);
|
||||
binding.preTitle.setText(name);
|
||||
binding.preText.setText(title);
|
||||
Mytools.runIO(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
List<AllData> allData = MydataBase.getInstance().likeDAO().getliketitle(title);
|
||||
if (!allData.isEmpty()) {
|
||||
data = allData.get(0);
|
||||
islike = data.getLike();
|
||||
if (islike) {
|
||||
binding.preImageLike.setBackgroundResource(R.drawable.icon_pre_like);
|
||||
} else {
|
||||
binding.preImageLike.setBackgroundResource(R.drawable.icon_pre_unlike);
|
||||
}
|
||||
|
||||
Glide.with(PrewViewActivity.this)
|
||||
.asBitmap()
|
||||
.load(data.getPreUrl())
|
||||
.placeholder(R.mipmap.logo)
|
||||
.into(new CustomTarget<Bitmap>() {
|
||||
@Override
|
||||
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
|
||||
binding.preImage.setImageBitmap(resource);
|
||||
showmenu();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLoadCleared(@Nullable Drawable placeholder) {
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void hidemenu() {
|
||||
binding.preText.setVisibility(View.GONE);
|
||||
binding.preLoop.setVisibility(View.GONE);
|
||||
binding.preLike.setVisibility(View.GONE);
|
||||
binding.volumeleft.setVisibility(View.GONE);
|
||||
binding.volumeright.setVisibility(View.GONE);
|
||||
binding.seekbar.setVisibility(View.GONE);
|
||||
binding.prePlay.setVisibility(View.GONE);
|
||||
binding.prePg.setVisibility(View.VISIBLE);
|
||||
binding.preImageFrame.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
private void showmenu() {
|
||||
binding.preText.setVisibility(View.VISIBLE);
|
||||
binding.preLoop.setVisibility(View.VISIBLE);
|
||||
binding.preLike.setVisibility(View.VISIBLE);
|
||||
binding.volumeleft.setVisibility(View.VISIBLE);
|
||||
binding.volumeright.setVisibility(View.VISIBLE);
|
||||
binding.seekbar.setVisibility(View.VISIBLE);
|
||||
binding.prePlay.setVisibility(View.VISIBLE);
|
||||
binding.prePg.setVisibility(View.GONE);
|
||||
binding.preImageFrame.setVisibility(View.VISIBLE);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
unregisterReceiver(seekBarBroadCast);
|
||||
if (mediaPlayer != null) {
|
||||
mediaPlayer.release();
|
||||
isplayer = false;
|
||||
binding.prePlay.setBackgroundResource(R.drawable.icon_play);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,57 @@
|
||||
package com.fun.originalityprank.activity;
|
||||
|
||||
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 android.content.Intent;
|
||||
import android.os.Bundle;
|
||||
import android.os.CountDownTimer;
|
||||
|
||||
import com.fun.originalityprank.R;
|
||||
import com.fun.originalityprank.databinding.ActivitySplashBinding;
|
||||
|
||||
public class SplashActivity extends AppCompatActivity {
|
||||
ActivitySplashBinding binding;
|
||||
private CountDownTimer countDownTimer;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
binding = ActivitySplashBinding.inflate(getLayoutInflater());
|
||||
setContentView(binding.getRoot());
|
||||
|
||||
EdgeToEdge.enable(this);
|
||||
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.activity_splash), (v, insets) -> {
|
||||
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
|
||||
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
|
||||
return insets;
|
||||
});
|
||||
|
||||
|
||||
countDownTimer = new CountDownTimer(1000, 100) {
|
||||
@Override
|
||||
public void onTick(long millisUntilFinished) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFinish() {
|
||||
startView();
|
||||
}
|
||||
};
|
||||
countDownTimer.start();
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void startView() {
|
||||
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
|
||||
startActivity(intent);
|
||||
finish();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,143 @@
|
||||
package com.fun.originalityprank.adapter;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.fun.originalityprank.R;
|
||||
import com.fun.originalityprank.activity.PrewViewActivity;
|
||||
import com.fun.originalityprank.data.AllData;
|
||||
import com.fun.originalityprank.databinding.LikeListBinding;
|
||||
import com.fun.originalityprank.tool.StaticValue;
|
||||
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class LikeAdapter extends RecyclerView.Adapter<LikeAdapter.LikeVH> {
|
||||
private final LayoutInflater minflater;
|
||||
private List<AllData> mlist;
|
||||
private int currentIndex = 0;
|
||||
private int listIndex = 0;
|
||||
|
||||
public LikeAdapter(Activity activity, List<AllData> list) {
|
||||
minflater = LayoutInflater.from(activity);
|
||||
mlist = list;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public LikeVH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
LikeListBinding binding = LikeListBinding.inflate(minflater, parent, false);
|
||||
return new LikeVH(binding);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull LikeVH holder, int position) {
|
||||
AllData likeData = mlist.get(position);
|
||||
Glide.with(minflater.getContext())
|
||||
.load(likeData.getPreUrl())
|
||||
.placeholder(R.mipmap.logo)
|
||||
.into(holder.getImage());
|
||||
holder.getText().setText(likeData.getTitle());
|
||||
|
||||
if (position == getItemCount() - 1) {
|
||||
holder.getView().setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
holder.getView().setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
Drawable[] likelistcons = {
|
||||
ContextCompat.getDrawable(minflater.getContext(), R.mipmap.like_list_1),
|
||||
ContextCompat.getDrawable(minflater.getContext(), R.mipmap.like_list_2),
|
||||
ContextCompat.getDrawable(minflater.getContext(), R.mipmap.like_list_3),
|
||||
};
|
||||
Drawable likelist = listbg(likelistcons);
|
||||
|
||||
holder.getLikelistcons().setBackground(likelist);
|
||||
|
||||
holder.getLikecons().setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent intent = new Intent(minflater.getContext(), PrewViewActivity.class);
|
||||
intent.putExtra(StaticValue.KEY_TITLE, likeData.getTitle());
|
||||
minflater.getContext().startActivity(intent);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private Drawable listbg(Drawable[] colors) {
|
||||
|
||||
if (listIndex >= colors.length) {
|
||||
listIndex = 0;
|
||||
}
|
||||
Drawable nextColor = colors[listIndex];
|
||||
listIndex++;
|
||||
return nextColor;
|
||||
|
||||
}
|
||||
|
||||
private Drawable Randomcolor(Drawable[] colors) {
|
||||
|
||||
if (currentIndex >= colors.length) {
|
||||
currentIndex = 0;
|
||||
}
|
||||
Drawable nextColor = colors[currentIndex];
|
||||
currentIndex++;
|
||||
return nextColor;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return mlist.size();
|
||||
}
|
||||
|
||||
public class LikeVH extends RecyclerView.ViewHolder {
|
||||
private ConstraintLayout likecons;
|
||||
private TextView text;
|
||||
private ImageView image;
|
||||
private ImageView likelistcons;
|
||||
private View view;
|
||||
|
||||
public LikeVH(@NonNull LikeListBinding binding) {
|
||||
super(binding.getRoot());
|
||||
likelistcons = binding.likeListImageBg;
|
||||
text = binding.likeText;
|
||||
likecons = binding.cons;
|
||||
image = binding.likeImage;
|
||||
view = binding.likeView;
|
||||
}
|
||||
|
||||
public TextView getText() {
|
||||
return text;
|
||||
}
|
||||
|
||||
public View getView() {
|
||||
return view;
|
||||
}
|
||||
|
||||
public ImageView getImage() {
|
||||
return image;
|
||||
}
|
||||
|
||||
public ConstraintLayout getLikecons() {
|
||||
return likecons;
|
||||
}
|
||||
|
||||
public ImageView getLikelistcons() {
|
||||
return likelistcons;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,103 @@
|
||||
package com.fun.originalityprank.adapter;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.fun.originalityprank.R;
|
||||
import com.fun.originalityprank.activity.PrewViewActivity;
|
||||
import com.fun.originalityprank.data.AllData;
|
||||
import com.fun.originalityprank.databinding.ListRvItemBinding;
|
||||
import com.fun.originalityprank.tool.StaticValue;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ListAdapter extends RecyclerView.Adapter<ListAdapter.PreVH> {
|
||||
private List<AllData> otherdataList;
|
||||
private final LayoutInflater mInflater;
|
||||
private int mcolor;
|
||||
|
||||
public ListAdapter(Activity activity, List<AllData> list,int color) {
|
||||
mInflater = LayoutInflater.from(activity);
|
||||
otherdataList = list;
|
||||
mcolor = color;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public PreVH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
ListRvItemBinding binding = ListRvItemBinding.inflate(mInflater, parent, false);
|
||||
return new PreVH(binding);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull PreVH holder, int position) {
|
||||
AllData otherdata = otherdataList.get(position);
|
||||
Glide.with(mInflater.getContext())
|
||||
.load(otherdata.getPreUrl())
|
||||
.placeholder(R.mipmap.logo)
|
||||
.into(holder.getImageViewThumb());
|
||||
holder.getTextView().setText(otherdata.getTitle());
|
||||
Drawable backgroundDrawable = ContextCompat.getDrawable(mInflater.getContext(), R.drawable.listactivty_list_bg);
|
||||
if (backgroundDrawable != null) {
|
||||
backgroundDrawable.setColorFilter(mcolor, PorterDuff.Mode.SRC_ATOP);
|
||||
holder.getConstraintLayout().setBackground(backgroundDrawable);
|
||||
}
|
||||
holder.getConstraintLayout().setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent intent = new Intent(mInflater.getContext(), PrewViewActivity.class);
|
||||
intent.putExtra(StaticValue.KEY_TITLE, otherdata.getTitle());
|
||||
intent.putExtra(StaticValue.KEY_CategoryName,otherdata.getCategoryname());
|
||||
mInflater.getContext().startActivity(intent);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return otherdataList.size();
|
||||
}
|
||||
|
||||
public class PreVH extends RecyclerView.ViewHolder {
|
||||
private ImageView imageViewThumb;
|
||||
private ConstraintLayout constraintLayout;
|
||||
private TextView textView;
|
||||
|
||||
public TextView getTextView() {
|
||||
return textView;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public PreVH(@NonNull ListRvItemBinding binding) {
|
||||
super(binding.getRoot());
|
||||
imageViewThumb = binding.listItemImage;
|
||||
constraintLayout = binding.listactivtyCons;
|
||||
textView = binding.listItemText;
|
||||
|
||||
|
||||
}
|
||||
|
||||
public ConstraintLayout getConstraintLayout() {
|
||||
return constraintLayout;
|
||||
}
|
||||
|
||||
public ImageView getImageViewThumb() {
|
||||
return imageViewThumb;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package com.fun.originalityprank.adapter;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.fragment.app.FragmentManager;
|
||||
import androidx.fragment.app.FragmentPagerAdapter;
|
||||
|
||||
import com.fun.originalityprank.fragment.LikeFragment;
|
||||
import com.fun.originalityprank.fragment.MainFragment;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class PagerAdapter extends FragmentPagerAdapter {
|
||||
private List<Fragment> fragmentList = new ArrayList<>();
|
||||
|
||||
public PagerAdapter(@NonNull FragmentManager fm) {
|
||||
super(fm);
|
||||
fragmentList.add(new MainFragment());
|
||||
fragmentList.add(new LikeFragment());
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public Fragment getItem(int position) {
|
||||
return fragmentList.get(position);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getCount() {
|
||||
return fragmentList.size();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,178 @@
|
||||
package com.fun.originalityprank.adapter;
|
||||
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
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 androidx.annotation.NonNull;
|
||||
import androidx.constraintlayout.widget.ConstraintLayout;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.fun.originalityprank.R;
|
||||
import com.fun.originalityprank.activity.ListActivity;
|
||||
import com.fun.originalityprank.data.AllData;
|
||||
import com.fun.originalityprank.databinding.MainRvItemBinding;
|
||||
import com.fun.originalityprank.tool.StaticValue;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class ThumAdapter extends RecyclerView.Adapter<ThumAdapter.ThumVH> {
|
||||
private List<AllData> myDataList;
|
||||
|
||||
private final LayoutInflater mInflater;
|
||||
|
||||
private int currentIndex = 0;
|
||||
private int currentgradient = 0;
|
||||
|
||||
public ThumAdapter(Activity activity, List<AllData> list) {
|
||||
myDataList = list;
|
||||
mInflater = LayoutInflater.from(activity);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public ThumVH onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
||||
MainRvItemBinding binding = MainRvItemBinding.inflate(mInflater, parent, false);
|
||||
return new ThumVH(binding);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onBindViewHolder(@NonNull ThumVH holder, int position) {
|
||||
AllData myData = myDataList.get(position);
|
||||
|
||||
if (position == getItemCount() - 1) {
|
||||
holder.getView().setVisibility(View.VISIBLE);
|
||||
Log.e("zzj", "String.valueOf(position)11111111111111");
|
||||
} else if (position == getItemCount()-2){
|
||||
holder.getView().setVisibility(View.VISIBLE);
|
||||
Log.e("zzj", "String.valueOf(position)222222222222222");
|
||||
}else {
|
||||
holder.getView().setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
|
||||
Glide.with(mInflater.getContext())
|
||||
.load(myData.getCategoryUrl())
|
||||
.placeholder(R.mipmap.logo)
|
||||
.into(holder.getImageViewThumb());
|
||||
holder.getTextView().setText(myData.getCategoryname());
|
||||
|
||||
int[] randomcolor = {
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.color_1),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.color_2),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.color_3),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.color_4),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.color_5),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.color_6),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.color_7),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.color_8),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.color_9),
|
||||
};
|
||||
int[] rmcolor = {
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.gradient_1),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.gradient_2),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.gradient_3),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.gradient_4),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.gradient_5),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.gradient_6),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.gradient_7),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.gradient_8),
|
||||
ContextCompat.getColor(mInflater.getContext(), R.color.gradient_9),
|
||||
};
|
||||
int gradientcolor = Randomgradientcolor(rmcolor);
|
||||
int randomColor = Randomcolor(randomcolor);
|
||||
Drawable backgroundDrawable1 = ContextCompat.getDrawable(mInflater.getContext(), R.drawable.mainlist_background);
|
||||
if (backgroundDrawable1 != null) {
|
||||
backgroundDrawable1.setColorFilter(randomColor, PorterDuff.Mode.SRC_ATOP);
|
||||
holder.getMainlistcons().setBackground(backgroundDrawable1);
|
||||
}
|
||||
Drawable backgroundDrawable = ContextCompat.getDrawable(mInflater.getContext(), R.drawable.mainlist_image_bg);
|
||||
if (backgroundDrawable != null) {
|
||||
backgroundDrawable.setColorFilter(gradientcolor, PorterDuff.Mode.SRC_ATOP);
|
||||
holder.getMainlistimage().setBackground(backgroundDrawable);
|
||||
}
|
||||
holder.getConstraintLayout().setOnClickListener(v -> {
|
||||
Intent intent = new Intent(mInflater.getContext(), ListActivity.class);
|
||||
intent.putExtra(StaticValue.KEY_CategoryName, myData.getCategoryname());
|
||||
intent.putExtra(StaticValue.KEY_Color, randomColor);
|
||||
mInflater.getContext().startActivity(intent);
|
||||
});
|
||||
}
|
||||
|
||||
private int Randomgradientcolor(int[] colors) {
|
||||
|
||||
if (currentgradient >= colors.length) {
|
||||
currentgradient = 0;
|
||||
}
|
||||
int nextColor = colors[currentgradient];
|
||||
currentgradient++;
|
||||
return nextColor;
|
||||
|
||||
}
|
||||
|
||||
private int Randomcolor(int[] colors) {
|
||||
|
||||
if (currentIndex >= colors.length) {
|
||||
currentIndex = 0;
|
||||
}
|
||||
int nextColor = colors[currentIndex];
|
||||
currentIndex++;
|
||||
return nextColor;
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getItemCount() {
|
||||
return myDataList.size();
|
||||
}
|
||||
|
||||
public class ThumVH extends RecyclerView.ViewHolder {
|
||||
|
||||
private ImageView imageViewThumb;
|
||||
private ConstraintLayout constraintLayout, mainlistcons, mainlistimage;
|
||||
|
||||
public ConstraintLayout getMainlistcons() {
|
||||
return mainlistcons;
|
||||
}
|
||||
|
||||
private TextView textView;
|
||||
private View view;
|
||||
public ConstraintLayout getMainlistimage() {
|
||||
return mainlistimage;
|
||||
}
|
||||
|
||||
public ThumVH(@NonNull MainRvItemBinding binding) {
|
||||
super(binding.getRoot());
|
||||
imageViewThumb = binding.mainRvImage;
|
||||
constraintLayout = binding.mainCons;
|
||||
mainlistcons = binding.mainListCons;
|
||||
textView = binding.mainRvText;
|
||||
view = binding.view;
|
||||
mainlistimage = binding.mainListImageBg;
|
||||
}
|
||||
public View getView() {
|
||||
return view;
|
||||
}
|
||||
public ConstraintLayout getConstraintLayout() {
|
||||
return constraintLayout;
|
||||
}
|
||||
|
||||
public ImageView getImageViewThumb() {
|
||||
return imageViewThumb;
|
||||
}
|
||||
|
||||
|
||||
public TextView getTextView() {
|
||||
return textView;
|
||||
}
|
||||
}
|
||||
}
|
||||
70
app/src/main/java/com/fun/originalityprank/data/AllData.java
Normal file
@ -0,0 +1,70 @@
|
||||
package com.fun.originalityprank.data;
|
||||
|
||||
import androidx.room.Entity;
|
||||
import androidx.room.PrimaryKey;
|
||||
import com.fun.originalityprank.PrankSkin;
|
||||
|
||||
|
||||
@Entity(tableName = PrankSkin.Table_Name)
|
||||
public class AllData {
|
||||
@PrimaryKey(autoGenerate = true)
|
||||
public int id;
|
||||
public String categoryname;
|
||||
|
||||
public String title;
|
||||
|
||||
public String mp3Url;
|
||||
|
||||
public String preUrl;
|
||||
|
||||
public Boolean islike ;
|
||||
public String categoryUrl;
|
||||
|
||||
public String getCategoryUrl() {
|
||||
return categoryUrl;
|
||||
}
|
||||
|
||||
public void setCategoryUrl(String categoryUrl) {
|
||||
this.categoryUrl = categoryUrl;
|
||||
}
|
||||
|
||||
public String getCategoryname() {
|
||||
return categoryname;
|
||||
}
|
||||
|
||||
public void setCategoryname(String categoryname) {
|
||||
this.categoryname = categoryname;
|
||||
}
|
||||
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
public String getMp3Url() {
|
||||
return mp3Url;
|
||||
}
|
||||
|
||||
public void setMp3Url(String mp3Url) {
|
||||
this.mp3Url = mp3Url;
|
||||
}
|
||||
|
||||
public String getPreUrl() {
|
||||
return preUrl;
|
||||
}
|
||||
|
||||
public void setPreUrl(String preUrl) {
|
||||
this.preUrl = preUrl;
|
||||
}
|
||||
|
||||
public Boolean getLike() {
|
||||
return islike;
|
||||
}
|
||||
|
||||
public void setLike(Boolean like) {
|
||||
this.islike = like;
|
||||
}
|
||||
}
|
||||
31
app/src/main/java/com/fun/originalityprank/data/LikeDAO.java
Normal file
@ -0,0 +1,31 @@
|
||||
package com.fun.originalityprank.data;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Insert;
|
||||
import androidx.room.Query;
|
||||
import androidx.room.Update;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Dao
|
||||
public interface LikeDAO {
|
||||
@Query("SELECT * FROM prank_table")
|
||||
List<AllData> getAll();
|
||||
|
||||
@Query("select * from prank_table where islike =:islike ")
|
||||
List<AllData> getLikedata(boolean islike);
|
||||
|
||||
@Query("select * from prank_table where title =:title ")
|
||||
List<AllData> getliketitle(String title);
|
||||
@Query("select * from prank_table where categoryname =:name ")
|
||||
List<AllData> getlist(String name);
|
||||
|
||||
@Insert
|
||||
void insertAll(List<AllData> likeDataList);
|
||||
|
||||
|
||||
@Query("DELETE FROM prank_table WHERE title = :title")
|
||||
void deleteByTitle(String title);
|
||||
@Update
|
||||
void update(AllData likeData);
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package com.fun.originalityprank.data;
|
||||
|
||||
import androidx.room.Database;
|
||||
import androidx.room.Room;
|
||||
import androidx.room.RoomDatabase;
|
||||
|
||||
import com.fun.originalityprank.PrankSkin;
|
||||
|
||||
@Database(entities = {AllData.class}, version = PrankSkin.DB_Version, exportSchema = false)
|
||||
public abstract class MydataBase extends RoomDatabase {
|
||||
|
||||
public abstract LikeDAO likeDAO();
|
||||
|
||||
private static MydataBase INSTANCE;
|
||||
|
||||
public static MydataBase getInstance() {
|
||||
if (INSTANCE == null) {
|
||||
synchronized (MydataBase.class) {
|
||||
if (INSTANCE == null) {
|
||||
INSTANCE = Room.databaseBuilder(PrankSkin.getContext(), MydataBase.class, PrankSkin.DB_Name).build();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return INSTANCE;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,71 @@
|
||||
package com.fun.originalityprank.fragment;
|
||||
|
||||
import android.graphics.Typeface;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
|
||||
import com.fun.originalityprank.R;
|
||||
import com.fun.originalityprank.adapter.LikeAdapter;
|
||||
import com.fun.originalityprank.data.AllData;
|
||||
import com.fun.originalityprank.data.MydataBase;
|
||||
import com.fun.originalityprank.databinding.FragmentLikeBinding;
|
||||
import com.fun.originalityprank.databinding.ListRvItemBinding;
|
||||
import com.fun.originalityprank.tool.Mytools;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
public class LikeFragment extends Fragment {
|
||||
|
||||
FragmentLikeBinding binding;
|
||||
private List<AllData> list = new ArrayList<>();
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
binding = FragmentLikeBinding.inflate(inflater,container,false);
|
||||
initData();
|
||||
|
||||
|
||||
binding.likeTitle.setTypeface(Typeface.createFromAsset(requireContext().getAssets(),"WendyOne-Regular.ttf"));
|
||||
|
||||
|
||||
return binding.getRoot();
|
||||
}
|
||||
private void initData() {
|
||||
Mytools.runIO(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
list = MydataBase.getInstance().likeDAO().getLikedata(true);
|
||||
requireActivity().runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
if (list.isEmpty()) {
|
||||
binding.likeHintText.setVisibility(View.VISIBLE);
|
||||
binding.likeHintImage.setVisibility(View.VISIBLE);
|
||||
binding.likeRv.setVisibility(View.GONE);
|
||||
} else {
|
||||
binding.likeRv.setVisibility(View.VISIBLE);
|
||||
binding.likeHintText.setVisibility(View.GONE);
|
||||
binding.likeHintImage.setVisibility(View.GONE);
|
||||
binding.likeRv.setAdapter(new LikeAdapter(requireActivity(), list));
|
||||
binding.likeRv.setLayoutManager(new LinearLayoutManager(requireContext()));
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onResume() {
|
||||
super.onResume();
|
||||
initData();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,145 @@
|
||||
package com.fun.originalityprank.fragment;
|
||||
|
||||
import android.app.Dialog;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Typeface;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.net.Uri;
|
||||
import android.os.Bundle;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.recyclerview.widget.GridLayoutManager;
|
||||
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.view.Window;
|
||||
import android.view.WindowManager;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.fun.originalityprank.R;
|
||||
import com.fun.originalityprank.adapter.ThumAdapter;
|
||||
import com.fun.originalityprank.data.AllData;
|
||||
import com.fun.originalityprank.data.MydataBase;
|
||||
import com.fun.originalityprank.databinding.FragmentMainBinding;
|
||||
import com.fun.originalityprank.tool.Mytools;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
public class MainFragment extends Fragment {
|
||||
FragmentMainBinding binding;
|
||||
private List<AllData> allData = new ArrayList<>();
|
||||
private List<AllData> maindata = new ArrayList<>();
|
||||
private ThumAdapter thumAdapter;
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
binding = FragmentMainBinding.inflate(inflater, container, false);
|
||||
|
||||
initData();
|
||||
|
||||
initEvent();
|
||||
|
||||
|
||||
binding.mainTitle.setTypeface(Typeface.createFromAsset(requireContext().getAssets(),"WendyOne-Regular.ttf"));
|
||||
|
||||
return binding.getRoot();
|
||||
}
|
||||
|
||||
private void initEvent() {
|
||||
binding.mainSetting.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
showDia();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
private void showDia() {
|
||||
final Dialog dialog = new Dialog(requireContext());
|
||||
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); // before
|
||||
dialog.setContentView(R.layout.dia_about);
|
||||
dialog.setCancelable(true);
|
||||
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
|
||||
WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
|
||||
lp.copyFrom(dialog.getWindow().getAttributes());
|
||||
lp.width = WindowManager.LayoutParams.WRAP_CONTENT;
|
||||
lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
|
||||
|
||||
dialog.findViewById(R.id.bt_close).setOnClickListener(v -> dialog.dismiss());
|
||||
|
||||
// dialog.findViewById(R.id.dia_left).setOnClickListener(new View.OnClickListener() {
|
||||
// @Override
|
||||
// public void onClick(View v) {
|
||||
// Intent intent = new Intent(Intent.ACTION_VIEW);
|
||||
// intent.setData(Uri.parse("https://www.baidu.com"));
|
||||
// startActivity(intent);
|
||||
// }
|
||||
// });
|
||||
|
||||
dialog.findViewById(R.id.dia_right).setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
Intent share = new Intent(Intent.ACTION_SEND);
|
||||
share.setType("text/plain");
|
||||
share.putExtra(Intent.EXTRA_SUBJECT, R.string.app_name);
|
||||
String text = getString(R.string.share_title);
|
||||
text = text + "\n https://play.google.com/store/apps/details?id=" + "com.fun.originalityprank";
|
||||
share.putExtra(Intent.EXTRA_TEXT, text);
|
||||
startActivity(Intent.createChooser(share, "choose one"));
|
||||
}
|
||||
});
|
||||
|
||||
dialog.show();
|
||||
dialog.getWindow().setAttributes(lp);
|
||||
}
|
||||
|
||||
private void initView(List<AllData> list) {
|
||||
thumAdapter = new ThumAdapter(requireActivity(), list);
|
||||
binding.marinRv.setAdapter(thumAdapter);
|
||||
binding.marinRv.setLayoutManager(new GridLayoutManager(requireContext(), 2));
|
||||
}
|
||||
|
||||
private void initData() {
|
||||
|
||||
Mytools.runIO(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
allData = MydataBase.getInstance().likeDAO().getAll();
|
||||
chekData(allData);
|
||||
if (!chekData(allData).isEmpty()) {
|
||||
maindata = chekData(allData);
|
||||
requireActivity().runOnUiThread(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
initView(maindata);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
private static List<AllData> chekData(List<AllData> data) {
|
||||
List<AllData> main = new ArrayList<>();
|
||||
Set<String> name = new HashSet<>();
|
||||
for (AllData mydata : data) {
|
||||
if (!name.contains(mydata.getCategoryname())) {
|
||||
main.add(mydata);
|
||||
name.add(mydata.getCategoryname());
|
||||
}
|
||||
}
|
||||
return main;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package com.fun.originalityprank.tool;
|
||||
|
||||
import android.annotation.SuppressLint;
|
||||
import android.content.Context;
|
||||
import android.graphics.Typeface;
|
||||
import android.util.AttributeSet;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
@SuppressLint("AppCompatCustomView")
|
||||
public class MytextView extends TextView {
|
||||
public MytextView(Context context) {
|
||||
super(context);
|
||||
initData();
|
||||
}
|
||||
|
||||
public MytextView(Context context, @Nullable AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
initData();
|
||||
}
|
||||
|
||||
public MytextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
initData();
|
||||
}
|
||||
|
||||
public MytextView(Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) {
|
||||
super(context, attrs, defStyleAttr, defStyleRes);
|
||||
initData();
|
||||
}
|
||||
|
||||
private void initData(){
|
||||
setTypeface(Typeface.createFromAsset(getContext().getAssets(), "PaytoneOne-Regular.ttf"));
|
||||
}
|
||||
}
|
||||
81
app/src/main/java/com/fun/originalityprank/tool/Mytools.java
Normal file
@ -0,0 +1,81 @@
|
||||
package com.fun.originalityprank.tool;
|
||||
|
||||
import android.content.res.AssetManager;
|
||||
|
||||
import com.fun.originalityprank.PrankSkin;
|
||||
import com.fun.originalityprank.data.AllData;
|
||||
|
||||
import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
public class Mytools {
|
||||
private static ExecutorService executorService;
|
||||
|
||||
public static void runIO(Runnable task) {
|
||||
getExecutorService().execute(task);
|
||||
}
|
||||
|
||||
private static ExecutorService getExecutorService() {
|
||||
if (executorService == null) {
|
||||
executorService = Executors.newSingleThreadExecutor();
|
||||
}
|
||||
return executorService;
|
||||
}
|
||||
|
||||
private static JSONArray loadJSONFromAsset(String filename) {
|
||||
String json;
|
||||
try {
|
||||
AssetManager assetManager = PrankSkin.getContext().getAssets();
|
||||
InputStream inputStream = assetManager.open(filename);
|
||||
int size = inputStream.available();
|
||||
byte[] buffer = new byte[size];
|
||||
inputStream.read(buffer);
|
||||
inputStream.close();
|
||||
json = new String(buffer, StandardCharsets.UTF_8);
|
||||
return new JSONArray(json);
|
||||
} catch (IOException | JSONException e) {
|
||||
e.printStackTrace();
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public static List<AllData> parseJsonToList(String filename) {
|
||||
List<AllData> dataList = new ArrayList<>();
|
||||
try {
|
||||
JSONArray jsonObject = loadJSONFromAsset(filename);
|
||||
for (int a = 0; a < jsonObject.length(); a++) {
|
||||
JSONObject list = jsonObject.getJSONObject(a);
|
||||
String categoryName = list.getString("categoryName");
|
||||
String categoryUrl = list.getString("categoryUrl");
|
||||
JSONArray classArray = list.getJSONArray("list");
|
||||
for (int i = 0; i < classArray.length(); i++) {
|
||||
JSONObject item = classArray.getJSONObject(i);
|
||||
AllData allData = new AllData();
|
||||
allData.setCategoryname(categoryName);
|
||||
allData.setCategoryUrl(categoryUrl);
|
||||
allData.setLike(false);
|
||||
allData.setTitle(item.getString("title"));
|
||||
allData.setMp3Url(item.getString("mp3Url"));
|
||||
allData.setPreUrl(item.getString("preUrl"));
|
||||
dataList.add(allData);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} catch (JSONException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return dataList;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,23 @@
|
||||
package com.fun.originalityprank.tool;
|
||||
|
||||
import android.content.BroadcastReceiver;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.media.AudioManager;
|
||||
import android.widget.SeekBar;
|
||||
|
||||
public class SeekBarBroadCast extends BroadcastReceiver {
|
||||
private AudioManager myaudioManager;
|
||||
private SeekBar myseekBar;
|
||||
public SeekBarBroadCast(AudioManager audioManager, SeekBar seekBar){
|
||||
myaudioManager = audioManager;
|
||||
myseekBar = seekBar;
|
||||
}
|
||||
@Override
|
||||
public void onReceive(Context context, Intent intent) {
|
||||
if (intent.getAction().equals("android.media.VOLUME_CHANGED_ACTION")){
|
||||
int currentVolume = myaudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
|
||||
myseekBar.setProgress(currentVolume);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,11 @@
|
||||
package com.fun.originalityprank.tool;
|
||||
|
||||
public class StaticValue {
|
||||
|
||||
public static String KEY_CategoryName = "key_CategoryName";
|
||||
public static String KEY_TITLE = "key_title";
|
||||
public static String KEY_Color = "key_color";
|
||||
public static String KEY_MP3URL = "key_mp3url";
|
||||
public static String KEY_PREURL = "KEY_preurl";
|
||||
public static String KEY_LIKE = "KEY_like";
|
||||
}
|
||||
17
app/src/main/res/drawable/butoon_tablayout.xml
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:topLeftRadius="27dp"
|
||||
android:topRightRadius="27dp"
|
||||
android:bottomRightRadius="27dp"
|
||||
android:bottomLeftRadius="27dp"/>
|
||||
<gradient
|
||||
android:centerX="0.5"
|
||||
android:centerY="0.5"
|
||||
android:startColor="#3FE3ED"
|
||||
android:endColor="#7E84FE"
|
||||
android:angle="270"
|
||||
android:type="linear"
|
||||
/>
|
||||
|
||||
|
||||
</shape>
|
||||
17
app/src/main/res/drawable/dia_bg.xml
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners android:topLeftRadius="20dp"
|
||||
android:topRightRadius="20dp"
|
||||
android:bottomRightRadius="20dp"
|
||||
android:bottomLeftRadius="20dp"/>
|
||||
<gradient
|
||||
android:centerX="0.5"
|
||||
android:centerY="0.5"
|
||||
android:startColor="#3FE3ED"
|
||||
android:endColor="#7E84FE"
|
||||
android:angle="270"
|
||||
android:type="linear"
|
||||
/>
|
||||
|
||||
|
||||
</shape>
|
||||
10
app/src/main/res/drawable/dia_menu_bg.xml
Normal file
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/dia_menu_bg"/>
|
||||
<corners android:topLeftRadius="12dp"
|
||||
android:topRightRadius="12dp"
|
||||
android:bottomRightRadius="12dp"
|
||||
android:bottomLeftRadius="12dp"/>
|
||||
|
||||
|
||||
</shape>
|
||||
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>
|
||||
30
app/src/main/res/drawable/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>
|
||||
9
app/src/main/res/drawable/icon_back.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="28dp"
|
||||
android:height="22dp"
|
||||
android:viewportWidth="28"
|
||||
android:viewportHeight="22">
|
||||
<path
|
||||
android:pathData="M27.91,9.963C28.238,7.377 27.625,6.34 26.825,6.153C24.886,5.699 18.303,6.828 15.327,7.381C14.622,7.512 13.999,6.885 14.122,6.178C14.293,5.197 14.513,3.81 14.695,2.263C15.047,-0.74 12.724,-0.497 9.907,1.49C3.948,5.694 1.388,7.757 0.095,9.986C-0.843,11.603 5.35,17.688 9.576,20.228C13.803,22.768 14.701,22.184 14.936,20.914C15.089,20.086 14.575,17.372 14.198,15.582C14.041,14.837 14.73,14.176 15.466,14.368C17.015,14.772 19.532,15.403 22.424,16.027C27.237,17.066 27.463,16.337 27.698,15.529C27.933,14.721 27.581,12.55 27.91,9.963Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/icon_cancel.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<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="M19.875,6.375C20.496,5.753 20.496,4.746 19.875,4.125C19.254,3.504 18.247,3.504 17.625,4.125L12,9.75L6.375,4.125C5.754,3.504 4.747,3.504 4.125,4.125C3.504,4.746 3.504,5.754 4.125,6.375L9.75,12L4.125,17.625C3.504,18.247 3.504,19.254 4.125,19.875C4.747,20.497 5.754,20.496 6.375,19.875L12,14.25L17.625,19.875C18.247,20.496 19.254,20.496 19.875,19.875C20.496,19.254 20.496,18.247 19.875,17.625L14.25,12L19.875,6.375Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/icon_loop.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<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="M8.473,17.059C7.132,17.058 5.846,16.524 4.897,15.575C3.948,14.627 3.415,13.341 3.413,11.999C3.415,10.658 3.948,9.372 4.897,8.423C5.846,7.475 7.132,6.941 8.473,6.939C8.526,6.939 8.58,6.934 8.632,6.924V8.291C8.632,8.579 8.96,8.746 9.192,8.574L12.3,6.287C12.344,6.254 12.38,6.212 12.405,6.162C12.429,6.113 12.442,6.059 12.442,6.004C12.442,5.949 12.429,5.894 12.405,5.845C12.38,5.796 12.344,5.753 12.3,5.72L9.192,3.431C9.14,3.393 9.078,3.37 9.013,3.364C8.948,3.359 8.883,3.372 8.825,3.401C8.767,3.431 8.718,3.476 8.684,3.531C8.65,3.587 8.632,3.65 8.632,3.715V5.077C8.579,5.068 8.526,5.063 8.472,5.063C7.546,5.062 6.629,5.249 5.777,5.611C4.954,5.961 4.206,6.466 3.574,7.099C2.597,8.073 1.934,9.316 1.669,10.669C1.404,12.022 1.549,13.423 2.086,14.693C2.438,15.518 2.936,16.259 3.574,16.896C4.216,17.542 4.98,18.054 5.821,18.403C6.661,18.753 7.563,18.933 8.473,18.933C8.722,18.933 8.96,18.834 9.136,18.659C9.312,18.483 9.411,18.244 9.411,17.996C9.411,17.747 9.312,17.509 9.136,17.333C8.96,17.157 8.722,17.058 8.473,17.058V17.059ZM21.989,9.303C21.639,8.481 21.134,7.733 20.501,7.101C19.859,6.456 19.095,5.944 18.255,5.594C17.414,5.245 16.513,5.065 15.602,5.064C15.354,5.064 15.115,5.163 14.939,5.339C14.763,5.515 14.665,5.753 14.665,6.002C14.665,6.25 14.763,6.489 14.939,6.665C15.115,6.841 15.354,6.939 15.602,6.939C16.944,6.941 18.23,7.475 19.178,8.423C20.127,9.372 20.66,10.658 20.662,11.999C20.66,13.341 20.127,14.627 19.178,15.575C18.23,16.524 16.944,17.058 15.602,17.059C15.509,17.059 15.415,17.074 15.326,17.102V15.677C15.326,15.612 15.308,15.549 15.274,15.493C15.24,15.438 15.191,15.393 15.133,15.363C15.075,15.334 15.01,15.321 14.946,15.326C14.881,15.332 14.819,15.355 14.766,15.393L11.658,17.681C11.614,17.714 11.578,17.757 11.554,17.806C11.529,17.855 11.516,17.91 11.516,17.965C11.516,18.02 11.529,18.074 11.554,18.123C11.578,18.173 11.614,18.215 11.658,18.248L14.763,20.533C14.995,20.704 15.323,20.538 15.323,20.25V18.891C15.41,18.919 15.503,18.933 15.6,18.933C16.526,18.934 17.443,18.747 18.295,18.384C19.118,18.035 19.866,17.529 20.498,16.896C21.475,15.923 22.139,14.681 22.405,13.327C22.671,11.974 22.526,10.573 21.989,9.302V9.303ZM12.019,15.483C12.142,15.483 12.264,15.458 12.377,15.41C12.491,15.363 12.594,15.293 12.681,15.206C12.767,15.119 12.836,15.015 12.882,14.901C12.929,14.787 12.953,14.665 12.952,14.542L12.923,9.524C12.922,9.277 12.823,9.039 12.647,8.865C12.471,8.69 12.234,8.592 11.986,8.591H11.981C11.858,8.592 11.736,8.617 11.623,8.664C11.509,8.712 11.406,8.781 11.319,8.869C11.233,8.956 11.164,9.06 11.118,9.174C11.071,9.288 11.047,9.41 11.048,9.533L11.077,14.551C11.078,14.799 11.178,15.036 11.353,15.211C11.529,15.386 11.766,15.484 12.014,15.484H12.019V15.483Z"
|
||||
android:fillColor="#453FA2"/>
|
||||
</vector>
|
||||
20
app/src/main/res/drawable/icon_pause.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="81dp"
|
||||
android:height="80dp"
|
||||
android:viewportWidth="81"
|
||||
android:viewportHeight="80">
|
||||
<path
|
||||
android:pathData="M40.5,2L40.5,2A38,38 0,0 1,78.5 40L78.5,40A38,38 0,0 1,40.5 78L40.5,78A38,38 0,0 1,2.5 40L2.5,40A38,38 0,0 1,40.5 2z"
|
||||
android:fillColor="#211E4C"/>
|
||||
<path
|
||||
android:pathData="M40.5,2L40.5,2A38,38 0,0 1,78.5 40L78.5,40A38,38 0,0 1,40.5 78L40.5,78A38,38 0,0 1,2.5 40L2.5,40A38,38 0,0 1,40.5 2z"
|
||||
android:strokeWidth="4"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#ADB2FF"/>
|
||||
<path
|
||||
android:pathData="M39.357,49.988L39.357,30.01C39.357,28.584 38.27,27.428 36.929,27.428L31.5,27.428C30.159,27.428 29.071,28.584 29.071,30.01L29.071,49.988C29.071,51.414 30.159,52.571 31.5,52.571L36.929,52.571C38.27,52.571 39.357,51.414 39.357,49.988Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M51.929,49.988L51.929,30.01C51.929,28.584 50.841,27.428 49.5,27.428L44.071,27.428C42.73,27.428 41.643,28.584 41.643,30.01L41.643,49.988C41.643,51.414 42.73,52.571 44.071,52.571L49.5,52.571C50.841,52.571 51.929,51.414 51.929,49.988Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</vector>
|
||||
17
app/src/main/res/drawable/icon_play.xml
Normal file
@ -0,0 +1,17 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="81dp"
|
||||
android:height="80dp"
|
||||
android:viewportWidth="81"
|
||||
android:viewportHeight="80">
|
||||
<path
|
||||
android:pathData="M40.5,2L40.5,2A38,38 0,0 1,78.5 40L78.5,40A38,38 0,0 1,40.5 78L40.5,78A38,38 0,0 1,2.5 40L2.5,40A38,38 0,0 1,40.5 2z"
|
||||
android:fillColor="#211E4C"/>
|
||||
<path
|
||||
android:pathData="M40.5,2L40.5,2A38,38 0,0 1,78.5 40L78.5,40A38,38 0,0 1,40.5 78L40.5,78A38,38 0,0 1,2.5 40L2.5,40A38,38 0,0 1,40.5 2z"
|
||||
android:strokeWidth="4"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#ADB2FF"/>
|
||||
<path
|
||||
android:pathData="M53.061,35.231L38.234,27.017C37.363,26.537 36.375,26.284 35.37,26.285C34.365,26.286 33.377,26.541 32.507,27.024C31.637,27.507 30.914,28.201 30.411,29.036C29.909,29.872 29.644,30.819 29.643,31.784V48.211C29.642,49.177 29.907,50.126 30.41,50.963C30.913,51.8 31.637,52.494 32.509,52.977C33.381,53.46 34.37,53.714 35.377,53.714C36.383,53.713 37.372,53.458 38.244,52.974L53.07,44.761C53.94,44.277 54.662,43.581 55.164,42.744C55.666,41.908 55.93,40.959 55.929,39.993C55.928,39.028 55.662,38.08 55.159,37.244C54.656,36.408 53.932,35.714 53.061,35.231Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/icon_pre_like.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<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.21,3.75C14.578,3.75 12.951,4.455 11.903,5.624C10.856,4.455 9.423,3.75 7.79,3.75C4.735,3.75 2.25,6.117 2.25,9.026C2.25,13.761 6.788,16.73 9.791,18.695C10.548,19.19 11.029,19.488 11.517,19.875L11.903,20.25L12.29,19.875C12.778,19.488 13.453,19.19 14.209,18.694C17.212,16.73 21.75,13.76 21.75,9.026C21.75,6.117 19.265,3.75 16.21,3.75Z"
|
||||
android:fillColor="#FF232B"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/icon_pre_unlike.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<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.21,3.75C14.578,3.75 12.951,4.455 11.903,5.624C10.856,4.455 9.423,3.75 7.79,3.75C4.735,3.75 2.25,6.117 2.25,9.026C2.25,13.761 6.788,16.73 9.791,18.695C10.548,19.19 11.029,19.488 11.517,19.875L11.903,20.25L12.29,19.875C12.778,19.488 13.453,19.19 14.209,18.694C17.212,16.73 21.75,13.76 21.75,9.026C21.75,6.117 19.265,3.75 16.21,3.75Z"
|
||||
android:fillColor="#DDDDDD"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/icon_privacy.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="M25.449,5.596C22.855,5.155 20.409,4.098 18.324,2.517L16.279,0.966C16.105,0.834 15.865,0.831 15.686,0.958L13.118,2.792C11.154,4.196 8.894,5.146 6.506,5.574L4.211,5.985C3.972,6.028 3.799,6.235 3.799,6.477V18.42C3.799,22.488 6.102,26.221 9.781,28.117L15.757,31.195C15.901,31.27 16.071,31.27 16.215,31.195L22.191,28.117C25.87,26.221 28.173,22.488 28.173,18.42V6.482C28.173,6.238 27.997,6.03 27.757,5.989L25.449,5.596ZM17.265,16.175V21.511C17.265,22.217 16.692,22.79 15.986,22.79C15.279,22.79 14.707,22.217 14.707,21.511V16.175C13.502,15.673 12.656,14.485 12.656,13.099C12.656,11.259 14.147,9.768 15.986,9.768C17.825,9.768 19.317,11.259 19.317,13.099C19.317,14.485 18.469,15.673 17.265,16.175Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</vector>
|
||||
12
app/src/main/res/drawable/icon_setting.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<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="M9.089,7.871C9.414,7.22 9.224,6.787 9.089,6.651L11.121,5.026H11.528H13.153L14.373,5.838L15.186,6.245L15.998,6.651L17.624,5.838L19.657,4.619C19.928,4.755 20.551,5.026 20.876,5.026C21.282,5.026 22.095,5.838 22.502,5.838C22.827,5.838 23.179,6.38 23.315,6.651V7.871C23.315,8.277 23.315,9.497 23.721,9.903C24.046,10.228 23.857,11.122 23.721,11.529C24.399,11.8 25.835,12.391 26.16,12.587C26.485,12.784 26.295,12.776 26.16,12.748L27.786,13.561L28.192,14.374C28.328,14.78 28.598,15.756 28.598,16.406C28.598,17.056 28.057,18.032 27.786,18.438L26.973,18.845L24.534,20.471L23.315,24.129V25.755L20.469,27.38L18.031,26.161C17.381,25.836 16.947,25.484 16.812,25.348H15.592L13.153,26.974C12.747,26.838 11.853,26.567 11.528,26.567H11.121C10.579,26.432 9.414,26.08 9.089,25.755C8.764,25.429 8.682,25.619 8.682,25.755V24.942C8.818,24.671 9.089,23.966 9.089,23.316C9.089,22.503 9.089,22.909 8.682,22.097C8.276,21.284 8.276,21.69 7.87,21.284C7.463,20.877 6.65,20.064 5.431,19.251L4.211,18.438L3.805,17.626V14.78C3.805,14.455 4.347,13.561 4.618,13.155C5.16,12.884 6.325,12.26 6.65,11.935C6.975,11.61 7.599,11.258 7.87,11.122C8.141,10.309 8.764,8.521 9.089,7.871Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M28.721,13.461C28.569,12.658 28.078,12.139 27.472,12.139C27.464,12.139 27.456,12.14 27.452,12.14H27.34C25.585,12.14 24.157,10.712 24.157,8.957C24.157,8.388 24.432,7.749 24.434,7.744C24.749,7.036 24.507,6.168 23.872,5.725L23.834,5.698L20.609,3.906L20.568,3.888C20.358,3.797 20.128,3.751 19.885,3.751C19.386,3.751 18.895,3.951 18.572,4.286C18.219,4.651 16.997,5.694 16.059,5.694C15.113,5.694 13.884,4.631 13.529,4.259C13.205,3.917 12.71,3.713 12.206,3.713C11.967,3.713 11.742,3.758 11.535,3.846L11.493,3.863L8.154,5.698L8.115,5.725C7.478,6.167 7.235,7.035 7.549,7.742C7.552,7.749 7.827,8.383 7.827,8.957C7.827,10.712 6.399,12.14 4.644,12.14H4.534C4.527,12.139 4.519,12.139 4.511,12.139C3.905,12.139 3.415,12.658 3.264,13.461C3.253,13.52 2.992,14.916 2.992,16.008C2.992,17.1 3.253,18.495 3.264,18.554C3.416,19.357 3.906,19.876 4.512,19.876C4.52,19.876 4.528,19.876 4.533,19.876H4.644C6.399,19.876 7.827,21.303 7.827,23.058C7.827,23.628 7.552,24.266 7.55,24.271C7.235,24.979 7.477,25.847 8.111,26.291L8.149,26.317L11.313,28.086L11.353,28.104C11.563,28.196 11.792,28.243 12.034,28.243C12.54,28.243 13.034,28.034 13.356,27.684C13.806,27.196 15.025,26.188 15.925,26.188C16.9,26.188 18.15,27.318 18.511,27.713C18.833,28.069 19.331,28.282 19.842,28.282H19.842C20.08,28.282 20.305,28.237 20.512,28.148L20.553,28.13L23.832,26.317L23.871,26.29C24.507,25.847 24.749,24.98 24.436,24.274C24.433,24.268 24.157,23.624 24.157,23.058C24.157,21.303 25.585,19.876 27.34,19.876L27.448,19.876C27.455,19.876 27.463,19.876 27.47,19.876C28.078,19.876 28.569,19.357 28.72,18.555C28.723,18.541 28.992,17.127 28.992,16.008C28.992,14.911 28.732,13.52 28.721,13.461ZM12.051,26.406L9.283,24.858C9.405,24.545 9.654,23.814 9.654,23.058C9.654,20.433 7.634,18.263 5.032,18.063C4.969,17.693 4.819,16.744 4.819,16.008C4.819,15.272 4.968,14.322 5.032,13.952C7.634,13.752 9.654,11.582 9.654,8.957C9.654,8.203 9.406,7.474 9.285,7.161L12.23,5.544L12.23,5.544C12.336,5.652 12.761,6.073 13.347,6.491C14.305,7.174 15.218,7.521 16.059,7.521C16.892,7.521 17.798,7.181 18.75,6.511C19.332,6.101 19.755,5.688 19.861,5.581L19.861,5.581L22.7,7.159C22.579,7.472 22.33,8.202 22.33,8.957C22.33,11.582 24.35,13.752 26.952,13.952C27.016,14.323 27.165,15.274 27.165,16.008C27.165,16.744 27.016,17.693 26.952,18.064C24.351,18.263 22.33,20.433 22.33,23.058C22.33,23.813 22.578,24.543 22.7,24.856L19.825,26.444C19.701,26.313 19.283,25.884 18.704,25.454C17.727,24.728 16.792,24.361 15.925,24.361C15.066,24.361 14.138,24.721 13.167,25.433C12.596,25.851 12.175,26.276 12.051,26.406ZM20.541,15.991C20.541,13.452 18.475,11.386 15.936,11.386C13.397,11.386 11.331,13.452 11.331,15.991C11.331,18.53 13.397,20.596 15.936,20.596C18.475,20.596 20.541,18.53 20.541,15.991ZM15.936,13.213C17.467,13.213 18.713,14.459 18.713,15.991C18.713,17.523 17.467,18.769 15.936,18.769C14.404,18.769 13.158,17.523 13.158,15.991C13.158,14.459 14.404,13.213 15.936,13.213Z"
|
||||
android:fillColor="#0B879F"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/icon_share.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="25dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="25"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M12.331,8.286C12.057,8.276 11.829,8.054 11.829,7.779V5.006C11.829,4.6 11.371,4.363 11.04,4.598L2.333,10.765C2.052,10.965 2.052,11.382 2.333,11.581L11.04,17.749C11.371,17.983 11.829,17.747 11.829,17.341V14.61C11.829,14.334 12.053,14.11 12.329,14.112C15.744,14.135 18.937,14.462 21.732,18.333C22.034,18.751 22.728,18.553 22.684,18.04C22.355,14.184 20.651,8.582 12.331,8.286Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/icon_unloop.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<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="M8.473,17.059C7.132,17.058 5.846,16.524 4.897,15.575C3.948,14.627 3.415,13.341 3.413,11.999C3.415,10.658 3.948,9.372 4.897,8.423C5.846,7.475 7.132,6.941 8.473,6.939C8.527,6.939 8.58,6.934 8.632,6.924V8.291C8.632,8.579 8.96,8.746 9.192,8.574L12.3,6.287C12.344,6.254 12.38,6.212 12.405,6.162C12.429,6.113 12.442,6.059 12.442,6.004C12.442,5.949 12.429,5.894 12.405,5.845C12.38,5.796 12.344,5.753 12.3,5.72L9.192,3.431C9.14,3.393 9.078,3.37 9.013,3.364C8.948,3.359 8.883,3.372 8.825,3.401C8.767,3.431 8.718,3.476 8.684,3.531C8.65,3.587 8.632,3.65 8.632,3.715V5.077C8.579,5.068 8.526,5.063 8.472,5.063C7.546,5.062 6.629,5.249 5.777,5.611C4.954,5.961 4.206,6.466 3.574,7.099C2.598,8.073 1.934,9.316 1.669,10.669C1.404,12.022 1.549,13.423 2.086,14.693C2.438,15.518 2.936,16.259 3.574,16.896C4.217,17.542 4.98,18.054 5.821,18.403C6.661,18.753 7.563,18.933 8.473,18.933C8.722,18.933 8.96,18.834 9.136,18.659C9.312,18.483 9.411,18.244 9.411,17.996C9.411,17.747 9.312,17.509 9.136,17.333C8.96,17.157 8.722,17.058 8.473,17.058V17.059ZM21.989,9.303C21.639,8.481 21.134,7.733 20.501,7.101C19.859,6.456 19.096,5.944 18.255,5.594C17.414,5.245 16.513,5.065 15.602,5.064C15.354,5.064 15.115,5.163 14.939,5.339C14.764,5.515 14.665,5.753 14.665,6.002C14.665,6.25 14.764,6.489 14.939,6.665C15.115,6.841 15.354,6.939 15.602,6.939C16.944,6.941 18.23,7.475 19.178,8.423C20.127,9.372 20.661,10.658 20.662,11.999C20.661,13.341 20.127,14.627 19.178,15.575C18.23,16.524 16.944,17.058 15.602,17.059C15.509,17.059 15.415,17.074 15.326,17.102V15.677C15.326,15.612 15.308,15.549 15.274,15.493C15.24,15.438 15.191,15.393 15.133,15.363C15.075,15.334 15.01,15.321 14.946,15.326C14.881,15.332 14.819,15.355 14.766,15.393L11.658,17.681C11.614,17.714 11.578,17.757 11.554,17.806C11.529,17.855 11.516,17.91 11.516,17.965C11.516,18.02 11.529,18.074 11.554,18.123C11.578,18.173 11.614,18.215 11.658,18.248L14.763,20.533C14.995,20.704 15.323,20.538 15.323,20.25V18.891C15.41,18.919 15.503,18.933 15.6,18.933C16.526,18.934 17.443,18.747 18.295,18.384C19.118,18.035 19.866,17.529 20.498,16.896C21.475,15.923 22.139,14.681 22.405,13.327C22.671,11.974 22.526,10.573 21.989,9.302V9.303ZM12.019,15.483C12.142,15.483 12.264,15.458 12.377,15.41C12.491,15.363 12.594,15.293 12.681,15.206C12.767,15.119 12.836,15.015 12.882,14.901C12.929,14.787 12.953,14.665 12.952,14.542L12.923,9.524C12.922,9.277 12.823,9.039 12.647,8.865C12.472,8.69 12.234,8.592 11.986,8.591H11.981C11.858,8.592 11.736,8.617 11.623,8.664C11.509,8.712 11.406,8.781 11.319,8.869C11.233,8.956 11.164,9.06 11.118,9.174C11.071,9.288 11.047,9.41 11.048,9.533L11.077,14.551C11.078,14.799 11.178,15.036 11.353,15.211C11.529,15.386 11.767,15.484 12.014,15.484H12.019V15.483Z"
|
||||
android:fillColor="#DDDDDD"/>
|
||||
</vector>
|
||||
21
app/src/main/res/drawable/icon_volume_add.xml
Normal file
@ -0,0 +1,21 @@
|
||||
<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="M1.814,11.736C1.849,10.014 1.867,9.154 2.45,8.418C2.568,8.273 2.7,8.138 2.843,8.016C3.559,7.422 4.506,7.422 6.397,7.422C7.073,7.422 7.411,7.422 7.733,7.336C7.8,7.317 7.866,7.297 7.932,7.273C8.246,7.16 8.529,6.965 9.094,6.577C11.32,5.04 12.434,4.273 13.368,4.606C13.547,4.671 13.72,4.763 13.875,4.877C14.682,5.47 14.744,6.852 14.867,9.615C14.907,10.41 14.933,11.205 14.943,12.001C14.943,12.488 14.913,13.365 14.867,14.387C14.743,17.15 14.682,18.532 13.875,19.125C13.72,19.239 13.549,19.33 13.368,19.396C12.433,19.729 11.321,18.962 9.093,17.425C8.529,17.037 8.246,16.841 7.931,16.729C7.866,16.705 7.8,16.684 7.733,16.666C7.411,16.58 7.073,16.58 6.397,16.58C4.506,16.58 3.56,16.58 2.843,15.986C2.7,15.865 2.568,15.73 2.45,15.584C1.867,14.847 1.85,13.987 1.814,12.267C1.81,12.09 1.81,11.913 1.814,11.736Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M17.208,12H23.094"
|
||||
android:strokeWidth="1.13208"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#ffffff"
|
||||
android:strokeLineCap="round"/>
|
||||
<path
|
||||
android:pathData="M20.151,9.057L20.151,14.943"
|
||||
android:strokeWidth="1.13208"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#ffffff"
|
||||
android:strokeLineCap="round"/>
|
||||
</vector>
|
||||
15
app/src/main/res/drawable/icon_volume_left.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<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="M1.814,11.736C1.849,10.014 1.867,9.154 2.45,8.418C2.568,8.273 2.7,8.138 2.843,8.016C3.559,7.422 4.506,7.422 6.397,7.422C7.073,7.422 7.411,7.422 7.733,7.336C7.8,7.317 7.866,7.297 7.932,7.273C8.246,7.16 8.529,6.965 9.094,6.577C11.32,5.04 12.434,4.273 13.368,4.606C13.547,4.671 13.72,4.763 13.875,4.877C14.682,5.47 14.744,6.852 14.867,9.615C14.907,10.41 14.933,11.205 14.943,12.001C14.943,12.488 14.913,13.365 14.867,14.387C14.743,17.15 14.682,18.532 13.875,19.125C13.72,19.239 13.549,19.33 13.368,19.396C12.433,19.729 11.321,18.962 9.093,17.425C8.529,17.037 8.246,16.841 7.931,16.729C7.866,16.705 7.8,16.684 7.733,16.666C7.411,16.58 7.073,16.58 6.397,16.58C4.506,16.58 3.56,16.58 2.843,15.986C2.7,15.865 2.568,15.73 2.45,15.584C1.867,14.847 1.85,13.987 1.814,12.267C1.81,12.09 1.81,11.913 1.814,11.736Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M17.208,12H23.094"
|
||||
android:strokeWidth="1.13208"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#ffffff"
|
||||
android:strokeLineCap="round"/>
|
||||
</vector>
|
||||
21
app/src/main/res/drawable/icon_volume_null.xml
Normal file
@ -0,0 +1,21 @@
|
||||
<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="M1.814,11.736C1.849,10.014 1.867,9.154 2.45,8.418C2.568,8.273 2.7,8.138 2.843,8.016C3.559,7.422 4.506,7.422 6.397,7.422C7.073,7.422 7.411,7.422 7.733,7.336C7.8,7.317 7.866,7.297 7.932,7.273C8.246,7.16 8.529,6.965 9.094,6.577C11.32,5.04 12.434,4.273 13.368,4.606C13.547,4.671 13.72,4.763 13.875,4.877C14.682,5.47 14.744,6.852 14.867,9.615C14.907,10.41 14.933,11.205 14.943,12.001C14.943,12.488 14.913,13.365 14.867,14.387C14.743,17.15 14.682,18.532 13.875,19.125C13.72,19.239 13.549,19.33 13.368,19.396C12.433,19.729 11.321,18.962 9.093,17.425C8.529,17.037 8.246,16.841 7.931,16.729C7.866,16.705 7.8,16.684 7.733,16.666C7.411,16.58 7.073,16.58 6.397,16.58C4.506,16.58 3.56,16.58 2.843,15.986C2.7,15.865 2.568,15.73 2.45,15.584C1.867,14.847 1.85,13.987 1.814,12.267C1.81,12.09 1.81,11.913 1.814,11.736Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M18.07,14.082L22.232,9.919"
|
||||
android:strokeWidth="1.13208"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#ffffff"
|
||||
android:strokeLineCap="round"/>
|
||||
<path
|
||||
android:pathData="M18.07,9.918L22.232,14.081"
|
||||
android:strokeWidth="1.13208"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#ffffff"
|
||||
android:strokeLineCap="round"/>
|
||||
</vector>
|
||||
14
app/src/main/res/drawable/like_check.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<path
|
||||
android:pathData="M27.501,15.699C23.566,14.119 21.473,17.222 21.438,17.275C21.403,17.222 19.31,14.118 15.374,15.698C11.435,17.28 9.639,25.116 20.72,31.31C21.035,31.485 21.285,31.537 21.437,31.542H21.438C21.59,31.537 21.84,31.485 22.154,31.31C33.236,25.116 31.441,17.28 27.501,15.698V15.699Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M28.701,11.019L28.609,10.983C25.985,9.974 24.044,10.469 22.751,11.179C22.091,11.542 21.587,11.97 21.246,12.31C21.076,12.48 20.949,12.626 20.865,12.728C20.823,12.779 20.792,12.819 20.772,12.845C20.762,12.858 20.755,12.868 20.751,12.874L20.744,12.883L19.988,13.958L19.247,12.871C19.248,12.872 19.248,12.872 19.247,12.87C19.213,12.824 18.529,11.882 17.249,11.179C15.957,10.468 14.015,9.973 11.392,10.982L28.701,11.019ZM28.701,11.019C31.122,12.003 32.984,14.863 32.398,18.569C31.805,22.319 28.654,27.072 20.627,31.37C20.312,31.538 20.093,31.58 20,31.588C19.907,31.58 19.687,31.538 19.373,31.37C11.346,27.072 8.195,22.319 7.602,18.569C7.009,14.816 8.926,11.931 11.391,10.982L28.701,11.019Z"
|
||||
android:strokeWidth="1.82083"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#16586C"/>
|
||||
</vector>
|
||||
23
app/src/main/res/drawable/like_list_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="351dp"
|
||||
android:height="138dp"
|
||||
android:viewportWidth="351"
|
||||
android:viewportHeight="138">
|
||||
<path
|
||||
android:pathData="M24,2H165.88C177.71,2 188.92,7.23 196.52,16.28L213.79,36.86C220.26,44.56 229.79,49 239.84,49H327C339.15,49 349,58.85 349,71V114C349,126.15 339.15,136 327,136H24C11.85,136 2,126.15 2,114V24C2,11.85 11.85,2 24,2Z"
|
||||
android:strokeWidth="4"
|
||||
android:strokeColor="#7495FC">
|
||||
<aapt:attr name="android:fillColor">
|
||||
<gradient
|
||||
android:startX="175.5"
|
||||
android:startY="0"
|
||||
android:endX="175.5"
|
||||
android:endY="138"
|
||||
android:type="linear">
|
||||
<item android:offset="0" android:color="#FFB1F8FF"/>
|
||||
<item android:offset="1" android:color="#FF8BB4FF"/>
|
||||
</gradient>
|
||||
</aapt:attr>
|
||||
</path>
|
||||
</vector>
|
||||
15
app/src/main/res/drawable/like_uncheck.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<path
|
||||
android:pathData="M27.501,15.699C23.566,14.119 21.473,17.222 21.438,17.275C21.403,17.222 19.31,14.118 15.374,15.698C11.435,17.28 9.639,25.116 20.72,31.31C21.035,31.485 21.285,31.537 21.437,31.542H21.438C21.59,31.537 21.84,31.485 22.154,31.31C33.236,25.116 31.441,17.28 27.501,15.698V15.699Z"
|
||||
android:fillColor="#97DBE9"
|
||||
android:fillAlpha="0.5"/>
|
||||
<path
|
||||
android:pathData="M28.701,11.019L28.609,10.983C25.985,9.974 24.044,10.469 22.751,11.179C22.091,11.542 21.587,11.97 21.246,12.31C21.076,12.48 20.949,12.626 20.865,12.728C20.823,12.779 20.792,12.819 20.772,12.845C20.762,12.858 20.755,12.868 20.751,12.874L20.744,12.883L19.988,13.958L19.247,12.871C19.248,12.872 19.248,12.872 19.247,12.87C19.213,12.824 18.529,11.882 17.249,11.179C15.957,10.468 14.015,9.973 11.392,10.982L28.701,11.019ZM28.701,11.019C31.122,12.003 32.984,14.863 32.398,18.569C31.805,22.319 28.654,27.072 20.627,31.37C20.312,31.538 20.093,31.58 20,31.588C19.907,31.58 19.688,31.538 19.373,31.371C11.346,27.072 8.195,22.319 7.602,18.569C7.009,14.816 8.925,11.931 11.391,10.982L28.701,11.019Z"
|
||||
android:strokeWidth="1.82083"
|
||||
android:fillColor="#00000000"
|
||||
android:strokeColor="#97DBE9"/>
|
||||
</vector>
|
||||
8
app/src/main/res/drawable/listactivty_list_bg.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners
|
||||
android:bottomLeftRadius="32dp"
|
||||
android:bottomRightRadius="32dp"
|
||||
android:topLeftRadius="32dp"
|
||||
android:topRightRadius="32dp" />
|
||||
</shape>
|
||||
9
app/src/main/res/drawable/listactivty_list_image_bg.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/main_bg" />
|
||||
<corners
|
||||
android:bottomLeftRadius="24dp"
|
||||
android:bottomRightRadius="24dp"
|
||||
android:topLeftRadius="24dp"
|
||||
android:topRightRadius="24dp" />
|
||||
</shape>
|
||||
30
app/src/main/res/drawable/main_check.xml
Normal file
@ -0,0 +1,30 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<path
|
||||
android:pathData="M8.142,17.08H13.203V25.819H8.142C7.719,25.819 7.377,25.446 7.377,24.985V17.914C7.377,17.453 7.722,17.08 8.142,17.08Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M14.615,24.946H7.344C6.292,24.946 5.435,24.09 5.435,23.038V14.95C5.435,13.898 6.292,13.041 7.344,13.041H14.615V24.946ZM7.344,14.95V23.038H12.706V14.95H7.344Z"
|
||||
android:fillColor="#16586C"/>
|
||||
<path
|
||||
android:pathData="M27.247,15.814H24.564V23.085H27.247C27.775,23.085 28.201,22.659 28.201,22.131V16.769C28.201,16.241 27.775,15.814 27.247,15.814Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M27.247,24.039H23.61V14.86H27.247C28.299,14.86 29.156,15.717 29.156,16.768V22.131C29.156,23.183 28.303,24.039 27.247,24.039ZM25.522,22.131H27.251V16.768H25.522V22.131ZM31.839,18.54H33.657C34.158,18.54 34.565,18.947 34.565,19.448C34.565,19.948 34.158,20.355 33.657,20.355H31.839C31.338,20.355 30.931,19.948 30.931,19.448C30.931,18.947 31.338,18.54 31.839,18.54ZM32.414,23.206L33.986,24.114C34.42,24.364 34.569,24.919 34.318,25.353C34.068,25.788 33.513,25.936 33.078,25.686L31.506,24.778C31.072,24.528 30.923,23.973 31.174,23.539C31.424,23.104 31.979,22.956 32.414,23.206ZM31.506,14.117L33.078,13.209C33.513,12.959 34.068,13.108 34.318,13.542C34.569,13.976 34.42,14.531 33.986,14.782L32.414,15.689C31.979,15.939 31.424,15.791 31.174,15.357C30.923,14.922 31.072,14.367 31.506,14.117Z"
|
||||
android:fillColor="#16586C"/>
|
||||
<path
|
||||
android:pathData="M13.203,17.189L20.817,13.283C21.19,13.093 21.654,13.229 21.851,13.589C21.911,13.694 21.942,13.815 21.942,13.936V28.966C21.942,29.374 21.6,29.704 21.177,29.704C21.039,29.704 20.902,29.667 20.783,29.598L13.203,25.209V17.189Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M23.614,31.03C23.27,31.03 22.929,30.936 22.632,30.76L12.706,24.804V13.309L22.714,7.986C23.641,7.489 24.803,7.845 25.295,8.776C25.44,9.054 25.518,9.363 25.518,9.672V29.118C25.522,30.174 24.666,31.03 23.614,31.03ZM14.615,23.721L23.614,29.122V9.676L14.615,14.459V23.721Z"
|
||||
android:fillColor="#16586C"/>
|
||||
<path
|
||||
android:pathData="M8.208,24.445H11.845V29.854C11.845,30.382 11.419,30.809 10.891,30.809H9.163C8.635,30.809 8.208,30.382 8.208,29.854V24.445Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M10.891,31.762H9.163C8.111,31.762 7.254,30.906 7.254,29.854V23.49H12.8V29.854C12.8,30.906 11.943,31.762 10.891,31.762ZM9.163,25.399V29.854H10.891V25.399H9.163Z"
|
||||
android:fillColor="#16586C"/>
|
||||
</vector>
|
||||
9
app/src/main/res/drawable/main_list_bg.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="160dp"
|
||||
android:height="81dp"
|
||||
android:viewportWidth="160"
|
||||
android:viewportHeight="81">
|
||||
<path
|
||||
android:pathData="M16.19,0H5.51C2.75,0 0.51,2.24 0.51,5V54C0.51,68.91 12.6,81 27.51,81H132.99C147.9,81 159.99,68.91 159.99,54V5C159.99,2.24 157.75,0 154.99,0H144.35C143.12,0 141.93,0.46 141.01,1.28L130.8,10.45C129.33,11.77 127.42,12.5 125.45,12.5H35.09C33.12,12.5 31.21,11.77 29.74,10.45L19.53,1.28C18.61,0.46 17.42,0 16.19,0Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</vector>
|
||||
8
app/src/main/res/drawable/main_rv_bg.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/main_bg"/>
|
||||
<corners
|
||||
android:topLeftRadius="20dp"
|
||||
android:topRightRadius="20dp" />
|
||||
|
||||
</shape>
|
||||
34
app/src/main/res/drawable/main_uncheck.xml
Normal file
@ -0,0 +1,34 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="40dp"
|
||||
android:height="40dp"
|
||||
android:viewportWidth="40"
|
||||
android:viewportHeight="40">
|
||||
<path
|
||||
android:pathData="M8.142,17.08H13.203V24.848H8.142C7.719,24.848 7.377,24.517 7.377,24.106V17.822C7.377,17.411 7.722,17.08 8.142,17.08Z"
|
||||
android:fillColor="#97DBE9"
|
||||
android:fillAlpha="0.5"/>
|
||||
<path
|
||||
android:pathData="M14.615,24.946H7.344C6.292,24.946 5.435,24.09 5.435,23.038V14.95C5.435,13.898 6.292,13.041 7.344,13.041H14.615V24.946ZM7.344,14.95V23.038H12.706V14.95H7.344Z"
|
||||
android:fillColor="#97DBE9"/>
|
||||
<path
|
||||
android:pathData="M27.247,15.814H24.564V23.085H27.247C27.775,23.085 28.201,22.659 28.201,22.131V16.769C28.201,16.241 27.775,15.814 27.247,15.814Z"
|
||||
android:fillColor="#97DBE9"
|
||||
android:fillAlpha="0.5"/>
|
||||
<path
|
||||
android:pathData="M27.247,24.039H23.61V14.86H27.247C28.299,14.86 29.156,15.717 29.156,16.768V22.131C29.156,23.183 28.303,24.039 27.247,24.039ZM25.522,22.131H27.251V16.768H25.522V22.131ZM31.839,18.54H33.657C34.158,18.54 34.565,18.947 34.565,19.448C34.565,19.948 34.158,20.355 33.657,20.355H31.839C31.338,20.355 30.931,19.948 30.931,19.448C30.931,18.947 31.338,18.54 31.839,18.54ZM32.414,23.206L33.986,24.114C34.42,24.364 34.569,24.919 34.318,25.353C34.068,25.788 33.513,25.936 33.078,25.686L31.506,24.778C31.072,24.528 30.923,23.973 31.174,23.539C31.424,23.104 31.979,22.956 32.414,23.206ZM31.506,14.117L33.078,13.209C33.513,12.959 34.068,13.108 34.318,13.542C34.569,13.976 34.42,14.531 33.986,14.782L32.414,15.689C31.979,15.939 31.424,15.791 31.174,15.357C30.923,14.922 31.072,14.367 31.506,14.117Z"
|
||||
android:fillColor="#97DBE9"/>
|
||||
<path
|
||||
android:pathData="M13.203,17.189L20.817,13.283C21.19,13.093 21.654,13.229 21.851,13.589C21.91,13.694 21.942,13.815 21.942,13.936V28.966C21.942,29.374 21.6,29.704 21.177,29.704C21.039,29.704 20.902,29.667 20.783,29.598L13.203,25.209V17.189Z"
|
||||
android:fillColor="#97DBE9"
|
||||
android:fillAlpha="0.5"/>
|
||||
<path
|
||||
android:pathData="M23.614,31.03C23.27,31.03 22.929,30.936 22.632,30.76L12.706,24.804V13.309L22.714,7.986C23.641,7.489 24.803,7.845 25.295,8.776C25.44,9.054 25.518,9.363 25.518,9.672V29.118C25.522,30.174 24.666,31.03 23.614,31.03ZM14.615,23.721L23.614,29.122V9.676L14.615,14.459V23.721Z"
|
||||
android:fillColor="#97DBE9"/>
|
||||
<path
|
||||
android:pathData="M8.208,24.445H11.846V29.854C11.846,30.382 11.419,30.809 10.891,30.809H9.163C8.635,30.809 8.208,30.382 8.208,29.854V24.445Z"
|
||||
android:fillColor="#97DBE9"
|
||||
android:fillAlpha="0.5"/>
|
||||
<path
|
||||
android:pathData="M10.891,31.762H9.163C8.111,31.762 7.254,30.906 7.254,29.854V23.49H12.8V29.854C12.8,30.906 11.943,31.762 10.891,31.762ZM9.163,25.399V29.854H10.891V25.399H9.163Z"
|
||||
android:fillColor="#97DBE9"/>
|
||||
</vector>
|
||||
11
app/src/main/res/drawable/mainlist_background.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<stroke
|
||||
android:width="5dp" />
|
||||
<solid android:color="@android:color/transparent" />
|
||||
<corners
|
||||
android:bottomLeftRadius="32dp"
|
||||
android:bottomRightRadius="32dp"
|
||||
android:topLeftRadius="32dp"
|
||||
android:topRightRadius="32dp" />
|
||||
</shape>
|
||||
8
app/src/main/res/drawable/mainlist_image_bg.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<corners
|
||||
android:bottomLeftRadius="32dp"
|
||||
android:bottomRightRadius="32dp"
|
||||
android:topLeftRadius="32dp"
|
||||
android:topRightRadius="32dp" />
|
||||
</shape>
|
||||
9
app/src/main/res/drawable/pre_menu_bg.xml
Normal file
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<solid android:color="@color/white" />
|
||||
<corners
|
||||
android:bottomLeftRadius="8dp"
|
||||
android:bottomRightRadius="8dp"
|
||||
android:topLeftRadius="8dp"
|
||||
android:topRightRadius="8dp" />
|
||||
</shape>
|
||||
8
app/src/main/res/drawable/seek_bar_thumb.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:shape="oval">
|
||||
<solid android:color="@color/white" />
|
||||
<size
|
||||
android:width="12dp"
|
||||
android:height="12dp" />
|
||||
</shape>
|
||||
17
app/src/main/res/drawable/seekbar_style.xml
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:id="@android:id/background">
|
||||
<shape android:shape="rectangle">
|
||||
<solid android:color="@color/black" />
|
||||
<corners android:radius="10dp" />
|
||||
</shape>
|
||||
</item>
|
||||
<item android:id="@android:id/progress">
|
||||
<scale android:scaleWidth="100%">
|
||||
<shape>
|
||||
<solid android:color="@color/white" />
|
||||
<corners android:radius="10dp" />
|
||||
</shape>
|
||||
</scale>
|
||||
</item>
|
||||
</layer-list>
|
||||
49
app/src/main/res/layout/activity_list.xml
Normal file
@ -0,0 +1,49 @@
|
||||
<?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:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:id="@+id/activity_list"
|
||||
android:background="@mipmap/main_bg"
|
||||
tools:context=".activity.ListActivity">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/back"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:padding="4dp"
|
||||
app:layout_constraintBottom_toBottomOf="@id/prew_list_title"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/prew_list_title">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/icon_back" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
<com.fun.originalityprank.tool.MytextView
|
||||
android:id="@+id/prew_list_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="26sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/prew_list_rv"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="20dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/prew_list_title" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
29
app/src/main/res/layout/activity_main.xml
Normal file
@ -0,0 +1,29 @@
|
||||
<?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/activity_main"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@mipmap/main_bg"
|
||||
tools:context=".activity.MainActivity">
|
||||
|
||||
<androidx.viewpager.widget.ViewPager
|
||||
android:id="@+id/main_pager"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/main_bg" />
|
||||
|
||||
<com.google.android.material.tabs.TabLayout
|
||||
android:id="@+id/main_tab"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginEnd="24dp"
|
||||
android:layout_marginBottom="40dp"
|
||||
android:background="@drawable/butoon_tablayout"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:tabIndicatorHeight="0dp" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
163
app/src/main/res/layout/activity_prew_view.xml
Normal file
@ -0,0 +1,163 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<ScrollView 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/activity_prew"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@mipmap/main_bg"
|
||||
tools:context=".activity.PrewViewActivity">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/pre_back"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_marginStart="20dp"
|
||||
android:src="@drawable/icon_back"
|
||||
app:layout_constraintBottom_toBottomOf="@id/pre_title"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/pre_title" />
|
||||
|
||||
|
||||
<com.fun.originalityprank.tool.MytextView
|
||||
android:id="@+id/pre_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="10dp"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="26sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/pre_image_frame"
|
||||
android:layout_width="280dp"
|
||||
android:layout_height="280dp"
|
||||
android:layout_marginTop="30dp"
|
||||
android:background="@mipmap/pre_image_bg"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/pre_title">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/pre_image"
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="150dp"
|
||||
android:layout_gravity="center"
|
||||
android:src="@mipmap/ic_launcher" />
|
||||
</FrameLayout>
|
||||
|
||||
<ProgressBar
|
||||
android:layout_marginTop="40dp"
|
||||
android:id="@+id/pre_pg"
|
||||
android:layout_width="100dp"
|
||||
android:layout_height="100dp"
|
||||
android:indeterminateTint="@color/white"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.fun.originalityprank.tool.MytextView
|
||||
android:id="@+id/pre_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="32dp"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/pre_image_frame" />
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/pre_loop"
|
||||
android:layout_width="28dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_marginStart="40dp"
|
||||
android:layout_marginTop="45dp"
|
||||
android:background="@drawable/pre_menu_bg"
|
||||
android:padding="4dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/pre_text">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/pre_image_loop"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/icon_unloop" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/pre_like"
|
||||
android:layout_width="28dp"
|
||||
android:layout_height="28dp"
|
||||
android:layout_marginTop="45dp"
|
||||
android:layout_marginEnd="40dp"
|
||||
android:background="@drawable/pre_menu_bg"
|
||||
android:padding="4dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/pre_text">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/pre_image_like"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/icon_pre_unlike" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<SeekBar
|
||||
android:id="@+id/seekbar"
|
||||
android:layout_width="240dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="45dp"
|
||||
android:progressDrawable="@drawable/seekbar_style"
|
||||
android:thumb="@drawable/seek_bar_thumb"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/pre_like" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/volumeleft"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginEnd="32dp"
|
||||
android:background="@drawable/icon_volume_left"
|
||||
app:layout_constraintBottom_toBottomOf="@id/seekbar"
|
||||
app:layout_constraintEnd_toStartOf="@id/seekbar"
|
||||
app:layout_constraintTop_toTopOf="@id/seekbar" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/volumeright"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:layout_marginStart="32dp"
|
||||
android:background="@drawable/icon_volume_add"
|
||||
app:layout_constraintBottom_toBottomOf="@id/seekbar"
|
||||
app:layout_constraintStart_toEndOf="@id/seekbar"
|
||||
app:layout_constraintTop_toTopOf="@id/seekbar" />
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/pre_play"
|
||||
android:layout_width="95dp"
|
||||
android:layout_height="95dp"
|
||||
android:layout_marginTop="50dp"
|
||||
android:background="@drawable/icon_play"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/seekbar" />
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="100dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/pre_play" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
|
||||
</ScrollView>
|
||||
51
app/src/main/res/layout/activity_splash.xml
Normal file
@ -0,0 +1,51 @@
|
||||
<?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/activity_splash"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/dia_menu_bg"
|
||||
tools:context=".activity.SplashActivity">
|
||||
|
||||
<androidx.cardview.widget.CardView
|
||||
android:id="@+id/logo"
|
||||
android:layout_width="70dp"
|
||||
android:layout_height="70dp"
|
||||
android:layout_marginBottom="30dp"
|
||||
app:cardCornerRadius="15dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:src="@mipmap/logo" />
|
||||
</androidx.cardview.widget.CardView>
|
||||
|
||||
<com.fun.originalityprank.tool.MytextView
|
||||
android:id="@+id/text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp"
|
||||
android:gravity="center_horizontal"
|
||||
android:text="@string/app_name"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/logo" />
|
||||
|
||||
<ProgressBar
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:indeterminateTint="@color/white"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/text" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
112
app/src/main/res/layout/dia_about.xml
Normal file
@ -0,0 +1,112 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:layout_width="340dp"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@drawable/dia_bg"
|
||||
android:paddingTop="12dp"
|
||||
android:paddingBottom="12dp">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/bt_close"
|
||||
android:layout_width="30dp"
|
||||
android:layout_height="30dp"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:src="@drawable/icon_cancel"
|
||||
app:layout_constraintBottom_toBottomOf="@id/dia_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@+id/dia_title" />
|
||||
|
||||
<com.fun.originalityprank.tool.MytextView
|
||||
android:id="@+id/dia_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dp"
|
||||
android:text="@string/setting"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="24sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
<!-- <androidx.constraintlayout.widget.ConstraintLayout-->
|
||||
<!-- android:id="@+id/dia_left"-->
|
||||
<!-- android:layout_width="115dp"-->
|
||||
<!-- android:background="@drawable/dia_menu_bg"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@id/dia_title"-->
|
||||
<!-- android:layout_marginTop="24dp"-->
|
||||
<!-- android:layout_marginStart="24dp"-->
|
||||
<!-- android:padding="12dp"-->
|
||||
<!-- android:layout_height="wrap_content">-->
|
||||
|
||||
<!-- <ImageView-->
|
||||
<!-- android:id="@+id/privacy"-->
|
||||
<!-- android:layout_width="24dp"-->
|
||||
<!-- android:layout_height="24dp"-->
|
||||
<!-- android:src="@drawable/icon_privacy"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toTopOf="parent"/>-->
|
||||
<!-- <TextView-->
|
||||
<!-- android:layout_width="wrap_content"-->
|
||||
<!-- android:layout_height="wrap_content"-->
|
||||
<!-- android:layout_marginTop="8dp"-->
|
||||
<!-- android:text="@string/privacy"-->
|
||||
<!-- android:textColor="@color/white"-->
|
||||
<!-- android:textSize="12sp"-->
|
||||
<!-- app:layout_constraintEnd_toEndOf="parent"-->
|
||||
<!-- app:layout_constraintStart_toStartOf="parent"-->
|
||||
<!-- app:layout_constraintTop_toBottomOf="@+id/privacy" />-->
|
||||
<!-- </androidx.constraintlayout.widget.ConstraintLayout>-->
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/dia_right"
|
||||
android:layout_width="115dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:background="@drawable/dia_menu_bg"
|
||||
android:padding="12dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/dia_title">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/share"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:src="@drawable/icon_share"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/share"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/share" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/version"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="24dp"
|
||||
android:text="@string/version"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="12sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/dia_right" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</FrameLayout>
|
||||
55
app/src/main/res/layout/fragment_like.xml
Normal file
@ -0,0 +1,55 @@
|
||||
<?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:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@mipmap/like_bg"
|
||||
tools:context=".fragment.LikeFragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/like_title"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="20dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/like_title"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="32sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/like_rv"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="20dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/like_title" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/like_hint_image"
|
||||
android:layout_width="240dp"
|
||||
android:layout_height="240dp"
|
||||
android:layout_marginBottom="11dp"
|
||||
android:background="@mipmap/like_hint_image"
|
||||
app:layout_constraintBottom_toTopOf="@id/like_hint_text"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent" />
|
||||
|
||||
<com.fun.originalityprank.tool.MytextView
|
||||
android:id="@+id/like_hint_text"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginEnd="24dp"
|
||||
android:gravity="center"
|
||||
android:text="@string/like_hint"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="20sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
41
app/src/main/res/layout/fragment_main.xml
Normal file
@ -0,0 +1,41 @@
|
||||
<?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:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@mipmap/main_bg"
|
||||
tools:context=".fragment.MainFragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/main_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="24dp"
|
||||
android:layout_marginTop="20dp"
|
||||
android:text="@string/app_name"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="26sp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/main_setting"
|
||||
android:layout_width="32dp"
|
||||
android:layout_height="32dp"
|
||||
android:layout_marginEnd="24dp"
|
||||
android:src="@drawable/icon_setting"
|
||||
app:layout_constraintBottom_toBottomOf="@id/main_title"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="@id/main_title" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:background="@drawable/main_rv_bg"
|
||||
android:id="@+id/marin_rv"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="0dp"
|
||||
android:layout_marginTop="30dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@id/main_title" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
58
app/src/main/res/layout/like_list.xml
Normal file
@ -0,0 +1,58 @@
|
||||
<?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"
|
||||
android:id="@+id/like_cons"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="28dp"
|
||||
android:layout_marginEnd="28dp">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/cons"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="30dp"
|
||||
android:background="@mipmap/like_list_bg"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/like_image"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="100dp"
|
||||
android:layout_margin="10dp"
|
||||
android:src="@drawable/ic_launcher_background"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<com.fun.originalityprank.tool.MytextView
|
||||
android:id="@+id/like_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginStart="20dp"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="18sp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/like_list_image_bg"
|
||||
android:layout_width="88dp"
|
||||
android:layout_height="88dp"
|
||||
android:layout_gravity="top|start"
|
||||
android:layout_marginStart="20dp"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<View
|
||||
android:id="@+id/like_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="110dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/cons" />
|
||||
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
49
app/src/main/res/layout/list_rv_item.xml
Normal file
@ -0,0 +1,49 @@
|
||||
<?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"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginBottom="12dp">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/listactivty_cons"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="16dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent">
|
||||
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/list_cons"
|
||||
android:layout_width="105dp"
|
||||
android:layout_height="105dp"
|
||||
android:background="@drawable/listactivty_list_image_bg"
|
||||
android:padding="3dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:layout_constraintBottom_toBottomOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/list_item_image"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="8dp" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
<com.fun.originalityprank.tool.MytextView
|
||||
android:id="@+id/list_item_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="6dp"
|
||||
android:gravity="center"
|
||||
android:textColor="@color/white"
|
||||
android:textSize="16sp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toBottomOf="@+id/listactivty_cons" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
72
app/src/main/res/layout/main_rv_item.xml
Normal file
@ -0,0 +1,72 @@
|
||||
<?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"
|
||||
android:id="@+id/main_cons"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="16dp">
|
||||
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/main_list_cons"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="4dp"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<androidx.constraintlayout.widget.ConstraintLayout
|
||||
android:id="@+id/main_list_image_bg"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<FrameLayout
|
||||
android:id="@+id/fragment_rv"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@mipmap/rv_image_bg"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent">
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/main_rv_image"
|
||||
android:layout_width="145dp"
|
||||
android:layout_height="114dp"
|
||||
android:layout_marginTop="12dp" />
|
||||
</FrameLayout>
|
||||
|
||||
|
||||
<FrameLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="7dp"
|
||||
android:layout_marginBottom="2dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/fragment_rv">
|
||||
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center|bottom"
|
||||
android:src="@drawable/main_list_bg" />
|
||||
|
||||
<com.fun.originalityprank.tool.MytextView
|
||||
android:id="@+id/main_rv_text"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginTop="6dp"
|
||||
android:textColor="@color/mainrv_text_color"
|
||||
android:textSize="16sp" />
|
||||
</FrameLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
<View
|
||||
android:id="@+id/view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="100dp"
|
||||
app:layout_constraintTop_toBottomOf="@id/main_list_cons" />
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
6
app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_background" />
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
|
||||
</adaptive-icon>
|
||||
6
app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<background android:drawable="@drawable/ic_launcher_background" />
|
||||
<foreground android:drawable="@drawable/ic_launcher_foreground" />
|
||||
<monochrome android:drawable="@drawable/ic_launcher_foreground" />
|
||||
</adaptive-icon>
|
||||
BIN
app/src/main/res/mipmap-hdpi/ic_launcher.webp
Normal file
|
After Width: | Height: | Size: 1.4 KiB |
BIN
app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher.webp
Normal file
|
After Width: | Height: | Size: 982 B |
BIN
app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher.webp
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
Normal file
|
After Width: | Height: | Size: 3.8 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
Normal file
|
After Width: | Height: | Size: 7.6 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/like_bg.png
Normal file
|
After Width: | Height: | Size: 1.5 MiB |
BIN
app/src/main/res/mipmap-xxxhdpi/like_hint_image.png
Normal file
|
After Width: | Height: | Size: 167 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/like_list_1.png
Normal file
|
After Width: | Height: | Size: 37 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/like_list_2.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/like_list_3.png
Normal file
|
After Width: | Height: | Size: 34 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/like_list_bg.png
Normal file
|
After Width: | Height: | Size: 91 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/logo.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
BIN
app/src/main/res/mipmap-xxxhdpi/main_bg.png
Normal file
|
After Width: | Height: | Size: 844 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/pre_image_bg.png
Normal file
|
After Width: | Height: | Size: 276 KiB |
BIN
app/src/main/res/mipmap-xxxhdpi/rv_image_bg.png
Normal file
|
After Width: | Height: | Size: 49 KiB |
7
app/src/main/res/values-night/themes.xml
Normal file
@ -0,0 +1,7 @@
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<!-- Base application theme. -->
|
||||
<style name="Base.Theme.OriginalityPrank" parent="Theme.Material3.DayNight.NoActionBar">
|
||||
<!-- Customize your dark theme here. -->
|
||||
<!-- <item name="colorPrimary">@color/my_dark_primary</item> -->
|
||||
</style>
|
||||
</resources>
|
||||
34
app/src/main/res/values/colors.xml
Normal file
@ -0,0 +1,34 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<color name="black">#FF000000</color>
|
||||
<color name="white">#FFFFFFFF</color>
|
||||
<color name="main_bg">#FEF4DB</color>
|
||||
<color name="color_1">#FE5FBC</color>
|
||||
<color name="color_2">#D290FF</color>
|
||||
<color name="color_3">#F9E45A</color>
|
||||
<color name="color_4">#BBE5FF</color>
|
||||
<color name="color_5">#FFA24B</color>
|
||||
<color name="color_6">#64EEE9</color>
|
||||
<color name="color_7">#9CD801</color>
|
||||
<color name="color_8">#FFBDBF</color>
|
||||
<color name="color_9">#C6FFA3</color>
|
||||
<color name="gradient_1">#80FE5FBC</color>
|
||||
<color name="gradient_2">#80D290FF</color>
|
||||
<color name="gradient_3">#80F9E45A</color>
|
||||
<color name="gradient_4">#80BBE5FF</color>
|
||||
<color name="gradient_5">#80FFA24B</color>
|
||||
<color name="gradient_6">#8064EEE9</color>
|
||||
<color name="gradient_7">#809CD801</color>
|
||||
<color name="gradient_8">#80FFBDBF</color>
|
||||
<color name="gradient_9">#80C6FFA3</color>
|
||||
<color name="like_color_1_star">#E8C7FF</color>
|
||||
<color name="like_color_1_end">#D290FF</color>
|
||||
<color name="like_color_2_star">#CDFFFD</color>
|
||||
<color name="like_color_2_end">#63EDE8</color>
|
||||
<color name="like_color_3_star">#FFDFB9</color>
|
||||
<color name="like_color_3_end">#FFA24B</color>
|
||||
<color name="like_color_4_star">#FFBDE4</color>
|
||||
<color name="like_color_4_end">#FD5FBC</color>
|
||||
<color name="mainrv_text_color">#16586C</color>
|
||||
<color name="dia_menu_bg">#4D6CDA</color>
|
||||
</resources>
|
||||
12
app/src/main/res/values/strings.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<resources>
|
||||
<string name="app_name">Originality Prank</string>
|
||||
<!-- TODO: Remove or change this placeholder text -->
|
||||
<string name="hello_blank_fragment">Hello blank fragment</string>
|
||||
<string name="setting">Settings</string>
|
||||
<string name="privacy">Privacy</string>
|
||||
<string name="share">Share</string>
|
||||
<string name="version">VERSION NUMBER 1.0.0</string>
|
||||
<string name="share_title">Here is a Originality Prank</string>
|
||||
<string name="like_hint">No favorite sound for now</string>
|
||||
<string name="like_title">Favorite</string>
|
||||
</resources>
|
||||
15
app/src/main/res/values/themes.xml
Normal file
@ -0,0 +1,15 @@
|
||||
<resources xmlns:tools="http://schemas.android.com/tools">
|
||||
<!-- Base application theme. -->
|
||||
<style name="Base.Theme.OriginalityPrank" parent="Theme.Material3.DayNight.NoActionBar">
|
||||
<!-- Customize your light theme here. -->
|
||||
<!-- <item name="colorPrimary">@color/my_light_primary</item> -->
|
||||
</style>
|
||||
|
||||
<style name="Theme.OriginalityPrank" parent="Base.Theme.OriginalityPrank" />
|
||||
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
|
||||
<!-- Customize your theme here. -->
|
||||
<item name="android:windowBackground">@android:color/white</item>
|
||||
<item name="colorOnPrimary">@color/white</item>
|
||||
<item name="android:statusBarColor" />
|
||||
</style>
|
||||
</resources>
|
||||
13
app/src/main/res/xml/backup_rules.xml
Normal file
@ -0,0 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8"?><!--
|
||||
Sample backup rules file; uncomment and customize as necessary.
|
||||
See https://developer.android.com/guide/topics/data/autobackup
|
||||
for details.
|
||||
Note: This file is ignored for devices older that API 31
|
||||
See https://developer.android.com/about/versions/12/backup-restore
|
||||
-->
|
||||
<full-backup-content>
|
||||
<!--
|
||||
<include domain="sharedpref" path="."/>
|
||||
<exclude domain="sharedpref" path="device.xml"/>
|
||||
-->
|
||||
</full-backup-content>
|
||||