diff --git a/src/app/src/main/java/com/example/ViewPagerAdapter.java b/src/app/src/main/java/com/example/ViewPagerAdapter.java new file mode 100644 index 0000000..28f4cf6 --- /dev/null +++ b/src/app/src/main/java/com/example/ViewPagerAdapter.java @@ -0,0 +1,37 @@ +package com.example; +//导入所需的类和接口 +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentPagerAdapter; + +import java.util.ArrayList; +import java.util.List; +public class ViewPagerAdapter extends FragmentPagerAdapter { + private List fragments = new ArrayList<>(); + private List fragmentTitles = new ArrayList<>(); + //两个列表将会存储即将被加入到ViewPager中的 Fragment 和 页面标题。 + public ViewPagerAdapter(FragmentManager fm) { + super(fm); + } + + public void addFragment(Fragment fragment, String title) { + fragments.add(fragment); + fragmentTitles.add(title); + }//用于添加 Fragment 和对应的标题到 fragments 和 fragmentTitles 列表中。 + //重写 getItem() 方法是为了返回 ViewPager 中要求位置的 Fragment 实例。 + @Override + public Fragment getItem(int position) { + return fragments.get(position); + } + //getCount() 返回在适配器中的 Fragment 数量。 + @Override + public int getCount() { + return fragments.size(); + } + //getPageTitle() 方法返回在 ViewPager 中要求位置的页面标题。 + @Override + public CharSequence getPageTitle(int position) { + return fragmentTitles.get(position); + } +} + diff --git a/src/app/src/main/java/com/example/sleep/App.java b/src/app/src/main/java/com/example/sleep/App.java new file mode 100644 index 0000000..26d572c --- /dev/null +++ b/src/app/src/main/java/com/example/sleep/App.java @@ -0,0 +1,50 @@ +package com.example.sleep; + +import android.app.Application; +import android.content.Context; +import android.database.sqlite.SQLiteDatabase; +import android.util.Log; + +import com.example.sleep.database.dao.DaoMaster; +import com.example.sleep.database.dao.DaoSession; +import com.example.sleep.service.SensorService; +import com.example.sleep.utils.ApkHelper; +import com.shihoo.daemon.DaemonEnv; + +import java.io.File; + +public class App extends Application { + public static DaoSession mDaoSession; + public static Context mContext; + + public void onCreate() { + /* + 此处为应用开始时分别为不同的进程赋值 + 每一次创建进程的时候都需要对Daemon环境进行初始化,所以这里没有判断进程 + */ + super.onCreate(); + initGreenDao(); + + String processName = ApkHelper.getProcessName(this.getApplicationContext()); + + if ("com.sleephelper.howard.sleephelper".equals(processName)) { + + Log.e("app", "启动主进程"); + } else if ("com.sleephelper.howard.sleephelper:work".equals(processName)) { + Log.e("app", "启动了工作进程"); + } else if ("com.sleephelper.howard.sleephelper:watch".equals(processName)) { + DaemonEnv.mWorkServiceClass = SensorService.class; + Log.e("app", "启动了守护进程"); + } + mContext = this; + } + + //数据库初始化 + private void initGreenDao() { + DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper + (this, this.getExternalFilesDir(null) + File.separator + "sleepRecord.db"); + SQLiteDatabase db = helper.getWritableDatabase(); + DaoMaster daoMaster = new DaoMaster(db); + mDaoSession = daoMaster.newSession(); + } +} \ No newline at end of file diff --git a/src/app/src/main/java/com/example/sleep/MainScreen.java b/src/app/src/main/java/com/example/sleep/MainScreen.java new file mode 100644 index 0000000..efa8f70 --- /dev/null +++ b/src/app/src/main/java/com/example/sleep/MainScreen.java @@ -0,0 +1,135 @@ +package com.example.sleep; + +import android.Manifest; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.os.Bundle; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.design.widget.TabLayout; +import android.support.v4.app.ActivityCompat; +import android.support.v4.app.FragmentActivity; +import android.support.v4.content.ContextCompat; +import android.support.v4.view.ViewPager; +import android.view.KeyEvent; +import android.view.View; +import android.widget.Button; +import android.widget.Toast; + + +import com.example.ViewPagerAdapter; +import com.example.sleep.database.GetRecord; +import com.example.sleep.database.RecordBean; +import com.example.sleep.service.GoSleepService; + + +import static com.example.sleep.database.GetRecord.getRecord; + + +/** + * 一开始的主界面 + */ +public class MainScreen extends FragmentActivity { + + private static final int REQUEST_READ_EXTERNAL_STORAGE = 1; + private long exitTime = 0; + private ViewPager viewPager; + private TabLayout tabLayout; + private Button backRl; + + + //初始化 + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + + readLog(); + /*initView();*/ + startGoSleepService(); + + viewPager = findViewById(R.id.viewPager); + backRl = findViewById(R.id.btn_AfterSleep); + backRl.setOnClickListener(v -> finish()); + tabLayout = findViewById(R.id.tabLayout); + + ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager()); + adapter.addFragment(new SleepFragment(), "睡眠"); + adapter.addFragment(new DreamAnalyszeScreen(), "解梦"); + adapter.addFragment(new Share(), "分享"); + adapter.addFragment(new SuggestScreen(), "报告"); + + viewPager.setAdapter(adapter); + tabLayout.setupWithViewPager(viewPager); + + // 检查权限 + if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { + // 请求权限 + ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE}, REQUEST_READ_EXTERNAL_STORAGE); + } + } + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + + if (requestCode == REQUEST_READ_EXTERNAL_STORAGE) { + if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + // 权限已获得 + } else { + // 权限被拒绝 + Toast.makeText(this, "Permission Denied!", Toast.LENGTH_SHORT).show(); + } + } + } + + + //按钮 + public void ClickRecord(View v) { + Intent i = new Intent(); + i.setClass(MainScreen.this, CalendarPage.class); + MainScreen.this.startActivity(i); + MainScreen.this.finish(); + } + + //按下返回键的效果 + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { + if (System.currentTimeMillis() - exitTime > 2000) { + Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show(); + exitTime = System.currentTimeMillis(); + } else { + finish(); + System.exit(0); + } + return true; + } + return super.onKeyDown(keyCode, event); + } + + //读睡眠记录,判断是否异常退出 + private void readLog() { + RecordBean mRecord; + GetRecord mGetRecord = getRecord(); + mRecord = mGetRecord.getLatestRecord(); + if (mRecord != null) { + if (!mRecord.getValid()) { + Intent i = new Intent(); + i.setClass(MainScreen.this, SleepMonitoringScreen.class); + MainScreen.this.startActivity(i); + MainScreen.this.finish(); + } + } + } + + public void startGoSleepService() { + Intent ifSleepIntent = new Intent(this, GoSleepService.class); + this.startService(ifSleepIntent); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + } +} diff --git a/src/app/src/main/java/com/example/sleep/SplashActivity.java b/src/app/src/main/java/com/example/sleep/SplashActivity.java new file mode 100644 index 0000000..166b3cc --- /dev/null +++ b/src/app/src/main/java/com/example/sleep/SplashActivity.java @@ -0,0 +1,41 @@ +package com.example.sleep; + +import android.Manifest; +import android.app.Activity; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.os.Build; +import android.os.Bundle; +import android.os.Handler; +import android.support.annotation.Nullable; +import android.support.v4.app.ActivityCompat; + +import com.example.sleep.activity.LoginActivity; + +//整个程序的入口,splash界面 +public class SplashActivity extends Activity { + private static final int DELAY_TIME = 1500; + + private static final int REQUEST_EXTERNAL_STORAGE = 1; + private static String[] PERMISSIONS_STORAGE = { + Manifest.permission.WRITE_EXTERNAL_STORAGE + }; + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.splash); + + // myPermission(); + // 利用消息处理器实现延迟跳转到登录窗口 + new Handler().postDelayed(() -> { + Intent intent = new Intent(SplashActivity.this, LoginActivity.class); + // 启动登录窗口 + startActivity(intent); + // 关闭启动画面 + finish(); + }, DELAY_TIME); + + } +} \ No newline at end of file diff --git a/src/app/src/main/java/com/example/sleep/activity/LoginActivity.java b/src/app/src/main/java/com/example/sleep/activity/LoginActivity.java new file mode 100644 index 0000000..881f939 --- /dev/null +++ b/src/app/src/main/java/com/example/sleep/activity/LoginActivity.java @@ -0,0 +1,95 @@ +package com.example.sleep.activity; + +import android.content.Context; +import android.content.Intent; +import android.content.SharedPreferences; +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +import com.example.sleep.App; +import com.example.sleep.MainScreen; +import com.example.sleep.R; +import com.example.sleep.database.UserBean; +import com.example.sleep.database.dao.DaoSession; +import com.example.sleep.database.dao.UserBeanDao; + +import java.util.List; + +// LoginActivity.java +//定义了一个名为LoginActivity的类。这个类在Android应用中处理用户的登录操作。 +public class LoginActivity extends AppCompatActivity { + + private EditText usernameEditText; + private EditText passwordEditText; + private Button loginButton; + private Button registerButton; + + @Override + protected void onCreate(Bundle savedInstanceState) { + +//初始化LoginActivity的各种资源,以及为一些控件设置事件监听器。 + + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_login); + + usernameEditText = findViewById(R.id.usernameEditText); + passwordEditText = findViewById(R.id.passwordEditText); + loginButton = findViewById(R.id.loginButton); + registerButton = findViewById(R.id.registerButton); + findViewById(R.id.btn_AfterSleep).setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + finish(); + } + }); + + loginButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + // 处理登录逻辑 + String username = usernameEditText.getText().toString(); + String password = passwordEditText.getText().toString(); + // 1. 获取SharedPreferences实例 + SharedPreferences sharedPreferences = LoginActivity.this.getSharedPreferences("MyPreferences", Context.MODE_PRIVATE); + + SharedPreferences.Editor editor = sharedPreferences.edit(); + + editor.putString("UserNameKey", username); + + editor.apply(); + + // 验证用户名和密码,从GreenDAO数据库中检查 + // 如果匹配成功,执行登录操作 + // 否则,显示错误消息 + // 获取 GreenDAO 的 DAOSession + DaoSession mDaoSession = App.mDaoSession; + UserBeanDao userBeanDao = mDaoSession.getUserBeanDao(); + // 查询数据库以验证用户名和密码 + List matchingUsers = userBeanDao.queryBuilder() + .where(UserBeanDao.Properties.Username.eq(username), UserBeanDao.Properties.Password.eq(password)) + .list(); + + if (matchingUsers != null && !matchingUsers.isEmpty()) { + Intent intent = new Intent(); + intent.setClass(LoginActivity.this, MainScreen.class); + startActivity(intent); + finish(); + } else { + Toast.makeText(LoginActivity.this, "用户名或密码不正确", Toast.LENGTH_SHORT).show(); + } + } + }); + + registerButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + // 跳转到注册页面 + startActivity(new Intent(LoginActivity.this, RegisterActivity.class)); + } + }); + } +} \ No newline at end of file diff --git a/src/app/src/main/java/com/example/sleep/activity/RegisterActivity.java b/src/app/src/main/java/com/example/sleep/activity/RegisterActivity.java new file mode 100644 index 0000000..f254411 --- /dev/null +++ b/src/app/src/main/java/com/example/sleep/activity/RegisterActivity.java @@ -0,0 +1,55 @@ +package com.example.sleep.activity; + +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.view.View; +import android.widget.Button; +import android.widget.EditText; +import android.widget.Toast; + +import com.example.sleep.App; +import com.example.sleep.R; +import com.example.sleep.database.UserBean; +import com.example.sleep.database.dao.DaoSession; +import com.example.sleep.database.dao.UserBeanDao; +//处理用户的注册操作 +public class RegisterActivity extends AppCompatActivity { + + private EditText registerUsernameEditText;//用户名 + private EditText registerPasswordEditText;//密码 + private Button registerButton; + + @Override + protected void onCreate(Bundle savedInstanceState) { +//设置一些基本的视图元素,并为其中视图元素设置一个简单的事件处理程序。 + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_register); + + registerUsernameEditText = findViewById(R.id.usernameEditText); + registerPasswordEditText = findViewById(R.id.passwordEditText); + registerButton = findViewById(R.id.registerButton); + findViewById(R.id.btn_AfterSleep).setOnClickListener(v -> finish()); + + registerButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + // 处理注册逻辑 + String newUsername = registerUsernameEditText.getText().toString(); + String newPassword = registerPasswordEditText.getText().toString(); + // 将新用户的用户名和密码保存到GreenDAO数据库中 + // 执行注册操作 + // 创建一个新的 User 对象并设置用户名和密码 + UserBean newUser = new UserBean(); + newUser.setUsername(newUsername); + newUser.setPassword(newPassword); + // 获取 GreenDAO 的 DAOSession + DaoSession mDaoSession = App.mDaoSession; + UserBeanDao userBeanDao = mDaoSession.getUserBeanDao(); + long id = userBeanDao.insert(newUser); + System.out.println("userDao: " + id); + if (id != -1) Toast.makeText(RegisterActivity.this,"注册成功",Toast.LENGTH_SHORT).show(); + finish(); + } + }); + } +} \ No newline at end of file diff --git a/src/app/src/main/res/drawable-hdpi/background_white_3dp_corner.xml b/src/app/src/main/res/drawable-hdpi/background_white_3dp_corner.xml new file mode 100644 index 0000000..62e5984 --- /dev/null +++ b/src/app/src/main/res/drawable-hdpi/background_white_3dp_corner.xml @@ -0,0 +1,7 @@ + + + + + + \ No newline at end of file diff --git a/src/app/src/main/res/drawable-hdpi/bg.png b/src/app/src/main/res/drawable-hdpi/bg.png new file mode 100644 index 0000000..8bc1780 Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/bg.png differ diff --git a/src/app/src/main/res/drawable-hdpi/bg_1.png b/src/app/src/main/res/drawable-hdpi/bg_1.png new file mode 100644 index 0000000..60ceca9 Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/bg_1.png differ diff --git a/src/app/src/main/res/drawable-hdpi/bg_2.png b/src/app/src/main/res/drawable-hdpi/bg_2.png new file mode 100644 index 0000000..4bd1502 Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/bg_2.png differ diff --git a/src/app/src/main/res/drawable-hdpi/bg_3.png b/src/app/src/main/res/drawable-hdpi/bg_3.png new file mode 100644 index 0000000..0ef02b8 Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/bg_3.png differ diff --git a/src/app/src/main/res/drawable-hdpi/bg_4.png b/src/app/src/main/res/drawable-hdpi/bg_4.png new file mode 100644 index 0000000..8b5d230 Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/bg_4.png differ diff --git a/src/app/src/main/res/drawable-hdpi/bg_5.png b/src/app/src/main/res/drawable-hdpi/bg_5.png new file mode 100644 index 0000000..a8ed8c9 Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/bg_5.png differ diff --git a/src/app/src/main/res/drawable-hdpi/bg_6.png b/src/app/src/main/res/drawable-hdpi/bg_6.png new file mode 100644 index 0000000..aab991b Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/bg_6.png differ diff --git a/src/app/src/main/res/drawable-hdpi/bg_7.png b/src/app/src/main/res/drawable-hdpi/bg_7.png new file mode 100644 index 0000000..4afec1a Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/bg_7.png differ diff --git a/src/app/src/main/res/drawable-hdpi/button_bg.xml b/src/app/src/main/res/drawable-hdpi/button_bg.xml new file mode 100644 index 0000000..397cad2 --- /dev/null +++ b/src/app/src/main/res/drawable-hdpi/button_bg.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/src/app/src/main/res/drawable-hdpi/record_0.png b/src/app/src/main/res/drawable-hdpi/record_0.png new file mode 100644 index 0000000..a2bde2d Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/record_0.png differ diff --git a/src/app/src/main/res/drawable-hdpi/record_1.png b/src/app/src/main/res/drawable-hdpi/record_1.png new file mode 100644 index 0000000..f498647 Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/record_1.png differ diff --git a/src/app/src/main/res/drawable-hdpi/select_background.png b/src/app/src/main/res/drawable-hdpi/select_background.png new file mode 100644 index 0000000..2ddc6a4 Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/select_background.png differ diff --git a/src/app/src/main/res/drawable-hdpi/selected_background.xml b/src/app/src/main/res/drawable-hdpi/selected_background.xml new file mode 100644 index 0000000..0ec1850 --- /dev/null +++ b/src/app/src/main/res/drawable-hdpi/selected_background.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/src/app/src/main/res/drawable-hdpi/selected_background_custom.xml b/src/app/src/main/res/drawable-hdpi/selected_background_custom.xml new file mode 100644 index 0000000..2fd9a2a --- /dev/null +++ b/src/app/src/main/res/drawable-hdpi/selected_background_custom.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/src/app/src/main/res/drawable-hdpi/sleep_0.png b/src/app/src/main/res/drawable-hdpi/sleep_0.png new file mode 100644 index 0000000..eb9d0d6 Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/sleep_0.png differ diff --git a/src/app/src/main/res/drawable-hdpi/sleep_1.png b/src/app/src/main/res/drawable-hdpi/sleep_1.png new file mode 100644 index 0000000..9af1a92 Binary files /dev/null and b/src/app/src/main/res/drawable-hdpi/sleep_1.png differ diff --git a/src/app/src/main/res/drawable-hdpi/today_background.xml b/src/app/src/main/res/drawable-hdpi/today_background.xml new file mode 100644 index 0000000..c4c4f13 --- /dev/null +++ b/src/app/src/main/res/drawable-hdpi/today_background.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/src/app/src/main/res/drawable-hdpi/view_syllabus_active_mark_background.xml b/src/app/src/main/res/drawable-hdpi/view_syllabus_active_mark_background.xml new file mode 100644 index 0000000..3df332c --- /dev/null +++ b/src/app/src/main/res/drawable-hdpi/view_syllabus_active_mark_background.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/src/app/src/main/res/drawable-hdpi/view_syllabus_mark_background.xml b/src/app/src/main/res/drawable-hdpi/view_syllabus_mark_background.xml new file mode 100644 index 0000000..5680630 --- /dev/null +++ b/src/app/src/main/res/drawable-hdpi/view_syllabus_mark_background.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/app/src/main/res/drawable-hdpi/view_syllabus_unactive_mark_background.xml b/src/app/src/main/res/drawable-hdpi/view_syllabus_unactive_mark_background.xml new file mode 100644 index 0000000..c8c8429 --- /dev/null +++ b/src/app/src/main/res/drawable-hdpi/view_syllabus_unactive_mark_background.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/src/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/src/app/src/main/res/drawable-v24/ic_launcher_foreground.xml index 2b068d1..c7bd21d 100644 --- a/src/app/src/main/res/drawable-v24/ic_launcher_foreground.xml +++ b/src/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -2,15 +2,19 @@ xmlns:aapt="http://schemas.android.com/aapt" android:width="108dp" android:height="108dp" - android:viewportWidth="108" - android:viewportHeight="108"> - + android:viewportHeight="108" + android:viewportWidth="108"> + - \ No newline at end of file + android:pathData="M66.94,46.02L66.94,46.02C72.44,50.07 76,56.61 76,64L32,64C32,56.61 35.56,50.11 40.98,46.06L36.18,41.19C35.45,40.45 35.45,39.3 36.18,38.56C36.91,37.81 38.05,37.81 38.78,38.56L44.25,44.05C47.18,42.57 50.48,41.71 54,41.71C57.48,41.71 60.78,42.57 63.68,44.05L69.11,38.56C69.84,37.81 70.98,37.81 71.71,38.56C72.44,39.3 72.44,40.45 71.71,41.19L66.94,46.02ZM62.94,56.92C64.08,56.92 65,56.01 65,54.88C65,53.76 64.08,52.85 62.94,52.85C61.8,52.85 60.88,53.76 60.88,54.88C60.88,56.01 61.8,56.92 62.94,56.92ZM45.06,56.92C46.2,56.92 47.13,56.01 47.13,54.88C47.13,53.76 46.2,52.85 45.06,52.85C43.92,52.85 43,53.76 43,54.88C43,56.01 43.92,56.92 45.06,56.92Z" + android:strokeColor="#00000000" + android:strokeWidth="1" /> + diff --git a/src/app/src/main/res/drawable-xhdpi/bg_1.png b/src/app/src/main/res/drawable-xhdpi/bg_1.png new file mode 100644 index 0000000..e5b15ca Binary files /dev/null and b/src/app/src/main/res/drawable-xhdpi/bg_1.png differ diff --git a/src/app/src/main/res/drawable-xhdpi/bg_2.png b/src/app/src/main/res/drawable-xhdpi/bg_2.png new file mode 100644 index 0000000..1d1b16d Binary files /dev/null and b/src/app/src/main/res/drawable-xhdpi/bg_2.png differ diff --git a/src/app/src/main/res/drawable-xhdpi/bg_3.png b/src/app/src/main/res/drawable-xhdpi/bg_3.png new file mode 100644 index 0000000..9a521e0 Binary files /dev/null and b/src/app/src/main/res/drawable-xhdpi/bg_3.png differ diff --git a/src/app/src/main/res/drawable-xhdpi/bg_4.png b/src/app/src/main/res/drawable-xhdpi/bg_4.png new file mode 100644 index 0000000..a77fb96 Binary files /dev/null and b/src/app/src/main/res/drawable-xhdpi/bg_4.png differ diff --git a/src/app/src/main/res/drawable-xhdpi/bg_5.png b/src/app/src/main/res/drawable-xhdpi/bg_5.png new file mode 100644 index 0000000..375231f Binary files /dev/null and b/src/app/src/main/res/drawable-xhdpi/bg_5.png differ diff --git a/src/app/src/main/res/drawable-xhdpi/bg_6.png b/src/app/src/main/res/drawable-xhdpi/bg_6.png new file mode 100644 index 0000000..2c0d0da Binary files /dev/null and b/src/app/src/main/res/drawable-xhdpi/bg_6.png differ diff --git a/src/app/src/main/res/drawable-xhdpi/bg_7.png b/src/app/src/main/res/drawable-xhdpi/bg_7.png new file mode 100644 index 0000000..80a1519 Binary files /dev/null and b/src/app/src/main/res/drawable-xhdpi/bg_7.png differ diff --git a/src/app/src/main/res/drawable-xhdpi/record_0.png b/src/app/src/main/res/drawable-xhdpi/record_0.png new file mode 100644 index 0000000..e840615 Binary files /dev/null and b/src/app/src/main/res/drawable-xhdpi/record_0.png differ diff --git a/src/app/src/main/res/drawable-xhdpi/record_1.png b/src/app/src/main/res/drawable-xhdpi/record_1.png new file mode 100644 index 0000000..906b424 Binary files /dev/null and b/src/app/src/main/res/drawable-xhdpi/record_1.png differ diff --git a/src/app/src/main/res/drawable-xhdpi/sleep_0.png b/src/app/src/main/res/drawable-xhdpi/sleep_0.png new file mode 100644 index 0000000..9fcd2c2 Binary files /dev/null and b/src/app/src/main/res/drawable-xhdpi/sleep_0.png differ diff --git a/src/app/src/main/res/drawable-xhdpi/sleep_1.png b/src/app/src/main/res/drawable-xhdpi/sleep_1.png new file mode 100644 index 0000000..9db5983 Binary files /dev/null and b/src/app/src/main/res/drawable-xhdpi/sleep_1.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/bg_1.png b/src/app/src/main/res/drawable-xxhdpi/bg_1.png new file mode 100644 index 0000000..fbeacef Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/bg_1.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/bg_2.png b/src/app/src/main/res/drawable-xxhdpi/bg_2.png new file mode 100644 index 0000000..bc0f64b Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/bg_2.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/bg_3.png b/src/app/src/main/res/drawable-xxhdpi/bg_3.png new file mode 100644 index 0000000..d68b347 Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/bg_3.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/bg_4.png b/src/app/src/main/res/drawable-xxhdpi/bg_4.png new file mode 100644 index 0000000..a17ee47 Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/bg_4.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/bg_5.png b/src/app/src/main/res/drawable-xxhdpi/bg_5.png new file mode 100644 index 0000000..d65845a Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/bg_5.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/bg_6.png b/src/app/src/main/res/drawable-xxhdpi/bg_6.png new file mode 100644 index 0000000..948892e Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/bg_6.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/bg_7.png b/src/app/src/main/res/drawable-xxhdpi/bg_7.png new file mode 100644 index 0000000..58a661d Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/bg_7.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/dream.webp b/src/app/src/main/res/drawable-xxhdpi/dream.webp new file mode 100644 index 0000000..5bfdfb8 Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/dream.webp differ diff --git a/src/app/src/main/res/drawable-xxhdpi/ic_play_btn_next.png b/src/app/src/main/res/drawable-xxhdpi/ic_play_btn_next.png new file mode 100644 index 0000000..5a12ddb Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/ic_play_btn_next.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/ic_play_btn_pause.png b/src/app/src/main/res/drawable-xxhdpi/ic_play_btn_pause.png new file mode 100644 index 0000000..2c02a9a Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/ic_play_btn_pause.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/ic_play_btn_play.png b/src/app/src/main/res/drawable-xxhdpi/ic_play_btn_play.png new file mode 100644 index 0000000..dfb5dcd Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/ic_play_btn_play.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/ic_play_btn_prev.png b/src/app/src/main/res/drawable-xxhdpi/ic_play_btn_prev.png new file mode 100644 index 0000000..2d6b203 Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/ic_play_btn_prev.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/record_0.png b/src/app/src/main/res/drawable-xxhdpi/record_0.png new file mode 100644 index 0000000..8c4edec Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/record_0.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/record_1.png b/src/app/src/main/res/drawable-xxhdpi/record_1.png new file mode 100644 index 0000000..5bfe2a1 Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/record_1.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/sleep_0.png b/src/app/src/main/res/drawable-xxhdpi/sleep_0.png new file mode 100644 index 0000000..1b09db4 Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/sleep_0.png differ diff --git a/src/app/src/main/res/drawable-xxhdpi/sleep_1.png b/src/app/src/main/res/drawable-xxhdpi/sleep_1.png new file mode 100644 index 0000000..6e5ae20 Binary files /dev/null and b/src/app/src/main/res/drawable-xxhdpi/sleep_1.png differ diff --git a/src/app/src/main/res/drawable/arrow_back.png b/src/app/src/main/res/drawable/arrow_back.png new file mode 100644 index 0000000..f13b9d4 Binary files /dev/null and b/src/app/src/main/res/drawable/arrow_back.png differ diff --git a/src/app/src/main/res/drawable/arrows_left.png b/src/app/src/main/res/drawable/arrows_left.png new file mode 100644 index 0000000..942a963 Binary files /dev/null and b/src/app/src/main/res/drawable/arrows_left.png differ diff --git a/src/app/src/main/res/drawable/arrows_right.png b/src/app/src/main/res/drawable/arrows_right.png new file mode 100644 index 0000000..f11473e Binary files /dev/null and b/src/app/src/main/res/drawable/arrows_right.png differ diff --git a/src/app/src/main/res/drawable/circlecyan.xml b/src/app/src/main/res/drawable/circlecyan.xml new file mode 100644 index 0000000..3d223c5 --- /dev/null +++ b/src/app/src/main/res/drawable/circlecyan.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file diff --git a/src/app/src/main/res/drawable/ic_launcher_background.xml b/src/app/src/main/res/drawable/ic_launcher_background.xml index 07d5da9..d5fccc5 100644 --- a/src/app/src/main/res/drawable/ic_launcher_background.xml +++ b/src/app/src/main/res/drawable/ic_launcher_background.xml @@ -2,169 +2,169 @@ + android:viewportHeight="108" + android:viewportWidth="108"> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> + android:strokeColor="#33FFFFFF" + android:strokeWidth="0.8" /> diff --git a/src/app/src/main/res/drawable/main_bg_1.png b/src/app/src/main/res/drawable/main_bg_1.png new file mode 100644 index 0000000..7873811 Binary files /dev/null and b/src/app/src/main/res/drawable/main_bg_1.png differ diff --git a/src/app/src/main/res/drawable/main_bg_2.png b/src/app/src/main/res/drawable/main_bg_2.png new file mode 100644 index 0000000..260cd59 Binary files /dev/null and b/src/app/src/main/res/drawable/main_bg_2.png differ diff --git a/src/app/src/main/res/drawable/main_bg_3.png b/src/app/src/main/res/drawable/main_bg_3.png new file mode 100644 index 0000000..8c89560 Binary files /dev/null and b/src/app/src/main/res/drawable/main_bg_3.png differ diff --git a/src/app/src/main/res/drawable/main_bg_4.png b/src/app/src/main/res/drawable/main_bg_4.png new file mode 100644 index 0000000..9bd230f Binary files /dev/null and b/src/app/src/main/res/drawable/main_bg_4.png differ diff --git a/src/app/src/main/res/drawable/main_bg_5.png b/src/app/src/main/res/drawable/main_bg_5.png new file mode 100644 index 0000000..2804a29 Binary files /dev/null and b/src/app/src/main/res/drawable/main_bg_5.png differ diff --git a/src/app/src/main/res/drawable/main_bg_6.png b/src/app/src/main/res/drawable/main_bg_6.png new file mode 100644 index 0000000..92ee770 Binary files /dev/null and b/src/app/src/main/res/drawable/main_bg_6.png differ diff --git a/src/app/src/main/res/drawable/post_bar.png b/src/app/src/main/res/drawable/post_bar.png new file mode 100644 index 0000000..363e91a Binary files /dev/null and b/src/app/src/main/res/drawable/post_bar.png differ diff --git a/src/app/src/main/res/drawable/rect.xml b/src/app/src/main/res/drawable/rect.xml new file mode 100644 index 0000000..f17e142 --- /dev/null +++ b/src/app/src/main/res/drawable/rect.xml @@ -0,0 +1,10 @@ + + + + + \ No newline at end of file diff --git a/src/app/src/main/res/drawable/start.png b/src/app/src/main/res/drawable/start.png new file mode 100644 index 0000000..95209dd Binary files /dev/null and b/src/app/src/main/res/drawable/start.png differ diff --git a/src/app/src/main/res/drawable/stop.png b/src/app/src/main/res/drawable/stop.png new file mode 100644 index 0000000..16f1eb8 Binary files /dev/null and b/src/app/src/main/res/drawable/stop.png differ diff --git a/src/app/src/main/res/drawable/timeline.xml b/src/app/src/main/res/drawable/timeline.xml new file mode 100644 index 0000000..34fcda2 --- /dev/null +++ b/src/app/src/main/res/drawable/timeline.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/src/app/src/main/res/drawable/timeline_dot.png b/src/app/src/main/res/drawable/timeline_dot.png new file mode 100644 index 0000000..3e4f88b Binary files /dev/null and b/src/app/src/main/res/drawable/timeline_dot.png differ diff --git a/src/app/src/main/res/font/droid_sans.ttf b/src/app/src/main/res/font/droid_sans.ttf new file mode 100644 index 0000000..ad1efca Binary files /dev/null and b/src/app/src/main/res/font/droid_sans.ttf differ diff --git a/src/app/src/main/res/layout/activity_login.xml b/src/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..68b4d4e --- /dev/null +++ b/src/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,100 @@ + + + + + + +