parent
							
								
									65d75da6db
								
							
						
					
					
						commit
						0638761d96
					
				|  | @ -16,8 +16,8 @@ android { | ||||||
|         applicationId "com.novelbook.android" |         applicationId "com.novelbook.android" | ||||||
|         minSdkVersion 19  //target 19 Android 4.4 以下版本仅占比4.1% |         minSdkVersion 19  //target 19 Android 4.4 以下版本仅占比4.1% | ||||||
|         targetSdkVersion 28 |         targetSdkVersion 28 | ||||||
|         versionCode 1 |         versionCode 2 | ||||||
|         versionName "1.0" |         versionName "2.0" | ||||||
| 
 | 
 | ||||||
|         //  testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" |         //  testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" | ||||||
| 
 | 
 | ||||||
|  | @ -46,8 +46,8 @@ android { | ||||||
|             signingConfig signingConfigs.debug |             signingConfig signingConfigs.debug | ||||||
|         } |         } | ||||||
|         release { |         release { | ||||||
|             // 不显示Log |             // 暂时显示Log 。。。。。。。。。。。。。。。上线时关闭 | ||||||
|             buildConfigField "boolean", "LOG_DEBUG", "false" |             buildConfigField "boolean", "LOG_DEBUG", "true" | ||||||
|             //混淆 |             //混淆 | ||||||
|             minifyEnabled true |             minifyEnabled true | ||||||
|             //Zipalign优化 |             //Zipalign优化 | ||||||
|  |  | ||||||
|  | @ -0,0 +1,4 @@ | ||||||
|  | <resources> | ||||||
|  |     <string name="app_name">A小说</string> | ||||||
|  | 
 | ||||||
|  | </resources> | ||||||
|  | @ -0,0 +1,4 @@ | ||||||
|  | <resources> | ||||||
|  |     <string name="app_name">B小说</string> | ||||||
|  | 
 | ||||||
|  | </resources> | ||||||
|  | @ -0,0 +1,4 @@ | ||||||
|  | <resources> | ||||||
|  |     <string name="app_name">C小说</string> | ||||||
|  | 
 | ||||||
|  | </resources> | ||||||
|  | @ -0,0 +1,4 @@ | ||||||
|  | <resources> | ||||||
|  |     <string name="app_name">D小说</string> | ||||||
|  | 
 | ||||||
|  | </resources> | ||||||
|  | @ -9,7 +9,7 @@ | ||||||
|     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> |     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> | ||||||
|     <uses-permission android:name="android.permission.READ_PHONE_STATE" /> |     <uses-permission android:name="android.permission.READ_PHONE_STATE" /> | ||||||
|     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> |     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> | ||||||
| 
 |     <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"/> | ||||||
|     <application |     <application | ||||||
|         android:name=".MyApp" |         android:name=".MyApp" | ||||||
|         android:allowBackup="true" |         android:allowBackup="true" | ||||||
|  | @ -81,7 +81,15 @@ | ||||||
|             android:name=".service.ServiceDownload" |             android:name=".service.ServiceDownload" | ||||||
|             android:exported="false" /> |             android:exported="false" /> | ||||||
| 
 | 
 | ||||||
| 
 |         <provider | ||||||
|  |             android:name="android.support.v4.content.FileProvider" | ||||||
|  |             android:authorities="${applicationId}.provider" | ||||||
|  |             android:exported="false" | ||||||
|  |             android:grantUriPermissions="true"> | ||||||
|  |             <meta-data | ||||||
|  |                 android:name="android.support.FILE_PROVIDER_PATHS" | ||||||
|  |                 android:resource="@xml/provider_paths"/> | ||||||
|  |         </provider> | ||||||
| 
 | 
 | ||||||
|         <!--  UMENG  --> |         <!--  UMENG  --> | ||||||
|         <meta-data android:value="5cd6238a570df375c3000cc9" android:name="UMENG_APPKEY"/> |         <meta-data android:value="5cd6238a570df375c3000cc9" android:name="UMENG_APPKEY"/> | ||||||
|  | @ -91,4 +99,5 @@ | ||||||
|         <meta-data android:name="DEFAULTHOST" android:value="${default_host}"/>--> |         <meta-data android:name="DEFAULTHOST" android:value="${default_host}"/>--> | ||||||
|     </application> |     </application> | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| </manifest> | </manifest> | ||||||
|  | @ -79,7 +79,7 @@ public class Activity_createShudan  extends Activity_base  { | ||||||
| 
 | 
 | ||||||
|    protected void setupToolbar(){ |    protected void setupToolbar(){ | ||||||
|     super.setupToolbar(); |     super.setupToolbar(); | ||||||
|         toolbar.inflateMenu(R.menu.menu_create_shudan);//设置右上角的填充菜单 |         /*toolbar.inflateMenu(R.menu.menu_create_shudan);//设置右上角的填充菜单 | ||||||
|         toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { |         toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { | ||||||
|             @Override |             @Override | ||||||
|             public boolean onMenuItemClick(MenuItem item) { |             public boolean onMenuItemClick(MenuItem item) { | ||||||
|  | @ -94,7 +94,7 @@ public class Activity_createShudan  extends Activity_base  { | ||||||
|                 } |                 } | ||||||
|                 return true; |                 return true; | ||||||
|             } |             } | ||||||
|         }); |         });*/ | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|  | @ -130,7 +130,7 @@ public class Activity_createShudan  extends Activity_base  { | ||||||
|     @Override |     @Override | ||||||
|     public boolean onCreateOptionsMenu(Menu menu) { |     public boolean onCreateOptionsMenu(Menu menu) { | ||||||
|         // Inflate the menu; this adds items to the action bar if it is present. |         // Inflate the menu; this adds items to the action bar if it is present. | ||||||
|         getMenuInflater().inflate(R.menu.menu_create_shudan, menu); |     //   getMenuInflater().inflate(R.menu.menu_create_shudan, menu); | ||||||
| 
 | 
 | ||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | @ -165,7 +165,7 @@ public class BookActivity extends   Activity_base { | ||||||
|         super.setupToolbar(); |         super.setupToolbar(); | ||||||
|     //    toolbar.setTitleMarginBottom(1); |     //    toolbar.setTitleMarginBottom(1); | ||||||
|    //     toolbar.setTitleTextAppearance(this,R.style.TitleText); |    //     toolbar.setTitleTextAppearance(this,R.style.TitleText); | ||||||
|         toolbar.inflateMenu(R.menu.menu_book);//设置右上角的填充菜单 |       /*  toolbar.inflateMenu(R.menu.menu_book);//设置右上角的填充菜单 | ||||||
|         toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { |         toolbar.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener() { | ||||||
|             @Override |             @Override | ||||||
|             public boolean onMenuItemClick(MenuItem item) { |             public boolean onMenuItemClick(MenuItem item) { | ||||||
|  | @ -176,7 +176,7 @@ public class BookActivity extends   Activity_base { | ||||||
|                 } |                 } | ||||||
|                 return true; |                 return true; | ||||||
|             } |             } | ||||||
|         }); |         });*/ | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public final static String EXTRA_BOOK ="book"; |     public final static String EXTRA_BOOK ="book"; | ||||||
|  | @ -202,6 +202,7 @@ public class BookActivity extends   Activity_base { | ||||||
|         NetUtil.cancelRequest(mNovel.getNovelId()); |         NetUtil.cancelRequest(mNovel.getNovelId()); | ||||||
|         getBookInfo(); |         getBookInfo(); | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /** |     /** | ||||||
|  |  | ||||||
|  | @ -177,8 +177,9 @@ public class CatalogFragment extends BasicFragment implements MarkActivity.Sortc | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|  |                 int maxSlept =NetUtil.isNetworkConnected()?50 :200; | ||||||
|                 int slepttime = 0; |                 int slepttime = 0; | ||||||
|                 while (NetUtil.isNetworkConnected() &&( slepttime < 200 && ( pageFactory.isReadingCatalogs()  || pageFactory.getChapters().size() == 0))) { |                 while (  slepttime < maxSlept && ( pageFactory.isReadingCatalogs()  || pageFactory.getChapters().size() == 0)) { | ||||||
|                     try { |                     try { | ||||||
|                         Log.d(TAG, String .format("prepare book:  to open book cate to sleep   %s" , 50)); |                         Log.d(TAG, String .format("prepare book:  to open book cate to sleep   %s" , 50)); | ||||||
|                         sleep(50); |                         sleep(50); | ||||||
|  |  | ||||||
|  | @ -28,6 +28,7 @@ import butterknife.BindView; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| public class Fragment_bangdan extends BasicFragment { | public class Fragment_bangdan extends BasicFragment { | ||||||
|  |     public static final String TAG=Fragment_bangdan.class.getSimpleName(); | ||||||
|     // TODO: Rename parameter arguments, choose names that match |     // TODO: Rename parameter arguments, choose names that match | ||||||
|     // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER |     // the fragment initialization parameters, e.g. ARG_ITEM_NUMBER | ||||||
|     private static final String ARG_PARAM1 = "param1"; |     private static final String ARG_PARAM1 = "param1"; | ||||||
|  | @ -159,7 +160,7 @@ public class Fragment_bangdan extends BasicFragment { | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public void setFTag() { |     public void setFTag() { | ||||||
|         TAG ="com.novelbook.android.Fragments.Fragment_bangdan"; | 
 | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -18,7 +18,7 @@ import butterknife.ButterKnife; | ||||||
| import butterknife.OnClick; | import butterknife.OnClick; | ||||||
| 
 | 
 | ||||||
| public class Fragment_jingxuan_tuijian extends BasicFragment { | public class Fragment_jingxuan_tuijian extends BasicFragment { | ||||||
|     public static String TAG=Fragment_jingxuan.class.getSimpleName(); |     final public static String TAG =Fragment_jingxuan.class.getSimpleName(); | ||||||
|     @BindView(R.id.imageGallary1) |     @BindView(R.id.imageGallary1) | ||||||
|     ImageView imageView1; |     ImageView imageView1; | ||||||
|     @BindView(R.id.imageGallary2) |     @BindView(R.id.imageGallary2) | ||||||
|  | @ -130,7 +130,7 @@ public class Fragment_jingxuan_tuijian extends BasicFragment { | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|     public void setFTag() { |     public void setFTag() { | ||||||
|         TAG="com.novelbook.android.Fragments.Fragment_jingxuan_tuijian"; | 
 | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -172,8 +172,7 @@ final String TAG = Fragment_paihang.class.getSimpleName(); | ||||||
| 
 | 
 | ||||||
|                     @Override |                     @Override | ||||||
|                     public void onLinearOutClick(View view, int position, int llId) { |                     public void onLinearOutClick(View view, int position, int llId) { | ||||||
|                         Toast.makeText(activity, "book " + position + " clicked", | 
 | ||||||
|                                 Toast.LENGTH_SHORT).show(); |  | ||||||
|                     } |                     } | ||||||
|                 }); |                 }); | ||||||
|                 mAdapter.setShowTop(true); |                 mAdapter.setShowTop(true); | ||||||
|  | @ -328,8 +327,7 @@ final String TAG = Fragment_paihang.class.getSimpleName(); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         Toast.makeText(activity,  selectedKey, |       //  Toast.makeText(activity,  selectedKey, Toast.LENGTH_SHORT).show(); | ||||||
|                 Toast.LENGTH_SHORT).show(); |  | ||||||
|         tvHint.setText(selectedKey); |         tvHint.setText(selectedKey); | ||||||
|         Log.d(TAG, String.format("tabChanged: to load data %s,pageno %s, tmp %s" , selectedKey,pageNo ,tmp)); |         Log.d(TAG, String.format("tabChanged: to load data %s,pageno %s, tmp %s" , selectedKey,pageNo ,tmp)); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -20,7 +20,7 @@ import java.util.List; | ||||||
| import butterknife.BindView; | import butterknife.BindView; | ||||||
| 
 | 
 | ||||||
| public class Fragment_shudan_list    extends BasicFragment { | public class Fragment_shudan_list    extends BasicFragment { | ||||||
| 
 |     public static String TAG=Fragment_shudan_list.class.getSimpleName(); | ||||||
| 
 | 
 | ||||||
|     private char cnt; |     private char cnt; | ||||||
|     ShudanAdapter mAdapter; |     ShudanAdapter mAdapter; | ||||||
|  |  | ||||||
|  | @ -1,6 +1,7 @@ | ||||||
| package com.novelbook.android; | package com.novelbook.android; | ||||||
| 
 | 
 | ||||||
| import android.content.Intent; | import android.content.Intent; | ||||||
|  | import android.net.Uri; | ||||||
| import android.os.Bundle; | import android.os.Bundle; | ||||||
| import android.support.annotation.NonNull; | import android.support.annotation.NonNull; | ||||||
| import android.support.design.widget.BottomNavigationView; | import android.support.design.widget.BottomNavigationView; | ||||||
|  | @ -84,7 +85,7 @@ public class Main2Activity extends Activity_base | ||||||
|        // ButterKnife.bind(this); |        // ButterKnife.bind(this); | ||||||
| 
 | 
 | ||||||
|         initialSexOption(); |         initialSexOption(); | ||||||
|         // checkUpdate(true); |         checkUpdate(true); | ||||||
|        // getSearchTabTtitle(); |        // getSearchTabTtitle(); | ||||||
| 
 | 
 | ||||||
|     } |     } | ||||||
|  | @ -176,12 +177,11 @@ public class Main2Activity extends Activity_base | ||||||
|                 } |                 } | ||||||
|                 else if(menuItemId == R.id.menuFinshi) { |                 else if(menuItemId == R.id.menuFinshi) { | ||||||
|                    udateShelfZhengli(); |                    udateShelfZhengli(); | ||||||
|                 }  if(menuItemId==R.id.menuSearch){ |                 } else if(menuItemId==R.id.menuSearch){ | ||||||
|                     Intent intent = new Intent(Main2Activity.this,Activity_Search.class); |                     Intent intent = new Intent(Main2Activity.this,Activity_Search.class); | ||||||
|                     startActivity(intent); |                     startActivity(intent); | ||||||
| 
 | 
 | ||||||
|                 } |                 }else if(menuItemId==R.id.menuHistory){ | ||||||
|                 if(menuItemId==R.id.menuHistory){ |  | ||||||
| 
 | 
 | ||||||
|                     Intent intent = new Intent(Main2Activity.this,Activity_paihangbang.class); |                     Intent intent = new Intent(Main2Activity.this,Activity_paihangbang.class); | ||||||
|                     intent.putExtra(Activity_paihangbang.EXTR_HISTORY,"yes"); |                     intent.putExtra(Activity_paihangbang.EXTR_HISTORY,"yes"); | ||||||
|  | @ -276,9 +276,7 @@ public class Main2Activity extends Activity_base | ||||||
|         // Handle navigation view item clicks here. |         // Handle navigation view item clicks here. | ||||||
|         int id = item.getItemId(); |         int id = item.getItemId(); | ||||||
| 
 | 
 | ||||||
|         if (id == R.id.nav_camera) { |       if (id == R.id.nav_history) { | ||||||
|             // Handle the camera action |  | ||||||
|         } else if (id == R.id.nav_gallery) { |  | ||||||
|             Intent intent = new Intent(Main2Activity.this,Activity_paihangbang.class); |             Intent intent = new Intent(Main2Activity.this,Activity_paihangbang.class); | ||||||
|             intent.putExtra(Activity_paihangbang.EXTR_HISTORY,"yes"); |             intent.putExtra(Activity_paihangbang.EXTR_HISTORY,"yes"); | ||||||
|             intent.putExtra(Activity_paihangbang.EXTR_TITLE,"我曾经看过的书"); |             intent.putExtra(Activity_paihangbang.EXTR_TITLE,"我曾经看过的书"); | ||||||
|  | @ -287,12 +285,14 @@ public class Main2Activity extends Activity_base | ||||||
|             startDownloadService(); |             startDownloadService(); | ||||||
|             Intent intent = new Intent(Main2Activity.this,Activity_cache.class); |             Intent intent = new Intent(Main2Activity.this,Activity_cache.class); | ||||||
|             startActivity(intent); |             startActivity(intent); | ||||||
|         } else if (id == R.id.nav_manage) { |         } else if (id == R.id.nav_advice) { | ||||||
| 
 |           Uri uri = Uri.parse("mailto:"+ Constants.email); | ||||||
|         } else if (id == R.id.nav_share) { |           String[] email = {Constants.email}; | ||||||
| 
 |           Intent intent = new Intent(Intent.ACTION_SENDTO, uri); | ||||||
|         } else if (id == R.id.nav_send) { |           intent.putExtra(Intent.EXTRA_CC, email); // 抄送人 | ||||||
| 
 |           intent.putExtra(Intent.EXTRA_SUBJECT, "意见建议"); // 主题 | ||||||
|  |           intent.putExtra(Intent.EXTRA_TEXT, "请输入内容"); // 正文 | ||||||
|  |           startActivity(Intent.createChooser(intent, "请选择邮件应用")); | ||||||
|       } |       } | ||||||
| 
 | 
 | ||||||
|         DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); |         DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); | ||||||
|  | @ -472,6 +472,19 @@ private  int bottomSelectedIndex; | ||||||
|    // setTitle("title on resume"); |    // setTitle("title on resume"); | ||||||
|    //   checkUpdate(true); |    //   checkUpdate(true); | ||||||
|    // getHostPolicy(); |    // getHostPolicy(); | ||||||
|  | 
 | ||||||
|  |     Fragment current = getSupportFragmentManager().findFragmentById(R.id.realtabcontent); | ||||||
|  |     if (current != null && current instanceof Fragment_Shelf){ | ||||||
|  |       //  Log.d(TAG, "onResume: current is shelf, botoomNavigation selection is 0? " +(botoomNavigation.getSelectedItemId() == R.id.navigation_home)); | ||||||
|  |         if(botoomNavigation.getSelectedItemId()!= R.id.navigation_home){ | ||||||
|  |            botoomNavigation.setSelectedItemId( R.id.navigation_home); | ||||||
|  | 
 | ||||||
|  |          //   Log.d(TAG, "onResume: set botoomNav selection to 0"); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |      | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|     @Override |     @Override | ||||||
|  |  | ||||||
|  | @ -419,6 +419,7 @@ public class ReadActivity extends  Activity_base implements SpeechSynthesizerLis | ||||||
|                 if (isShow) { |                 if (isShow) { | ||||||
|                     hideReadSetting(); |                     hideReadSetting(); | ||||||
|                     return false; |                     return false; | ||||||
|  | 
 | ||||||
|                 } |                 } | ||||||
|                 if (isShow || isSpeaking){ |                 if (isShow || isSpeaking){ | ||||||
|                 //    return false; |                 //    return false; | ||||||
|  |  | ||||||
|  | @ -215,7 +215,8 @@ public  class BookListAdapter extends RecyclerView.Adapter< RecyclerView.ViewHol | ||||||
|             if (holder.tvDesc != null) holder.tvDesc.setText(mDatas.get(position).getDesc()); |             if (holder.tvDesc != null) holder.tvDesc.setText(mDatas.get(position).getDesc()); | ||||||
| 
 | 
 | ||||||
|             if (holder.tvLastRead != null) holder.tvLastRead.setText(CommonUtil.getDateString( mDatas.get(position).getLastVisit() )); |             if (holder.tvLastRead != null) holder.tvLastRead.setText(CommonUtil.getDateString( mDatas.get(position).getLastVisit() )); | ||||||
|             if (holder.tvProgress != null) holder.tvProgress.setText( String.format("上次看到第 %s 章,共%s章",mDatas.get(position).getLastReadChapt(),mDatas.get(position).getChaptCnt())       ); |           //  if (holder.tvProgress != null) holder.tvProgress.setText( String.format("上次看到第 %s 章,共%s章",mDatas.get(position).getLastReadChapt(),mDatas.get(position).getChaptCnt())       ); | ||||||
|  |             if (holder.tvProgress != null) holder.tvProgress.setText( String.format("上次看到第 %s 章",mDatas.get(position).getLastReadChapt(),mDatas.get(position).getChaptCnt())       ); | ||||||
|             if (holder.tvReadtime != null) holder.tvReadtime.setText( "总计阅读了 "+CommonUtil.getTimeCnt4Read( mDatas.get(position).getReadtime() ,true) ); |             if (holder.tvReadtime != null) holder.tvReadtime.setText( "总计阅读了 "+CommonUtil.getTimeCnt4Read( mDatas.get(position).getReadtime() ,true) ); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -46,7 +46,7 @@ import java.util.HashMap; | ||||||
| import java.util.List; | import java.util.List; | ||||||
| 
 | 
 | ||||||
| public class DirectoryFragment extends Fragment implements View.OnClickListener { | public class DirectoryFragment extends Fragment implements View.OnClickListener { | ||||||
| 
 |     public static final String TAG =DirectoryFragment.class.getSimpleName(); | ||||||
|     private View fragmentView; |     private View fragmentView; | ||||||
|     private boolean receiverRegistered = false; |     private boolean receiverRegistered = false; | ||||||
|     private File currentDir; |     private File currentDir; | ||||||
|  |  | ||||||
|  | @ -317,6 +317,7 @@ public class NetUtil { | ||||||
|                     Constants.LAST_G = new Date().getTime(); |                     Constants.LAST_G = new Date().getTime(); | ||||||
| 
 | 
 | ||||||
|                     Constants.announcement =jsonObject.getString("declare"); |                     Constants.announcement =jsonObject.getString("declare"); | ||||||
|  |                     Constants.email =jsonObject.getString("email"); | ||||||
|                     // config.setRootUrl( jsonObject.getString("masterDomains")); |                     // config.setRootUrl( jsonObject.getString("masterDomains")); | ||||||
|                     isRequestHosts =false; |                     isRequestHosts =false; | ||||||
|                 } catch (Exception e) { |                 } catch (Exception e) { | ||||||
|  |  | ||||||
|  | @ -21,15 +21,19 @@ import android.content.DialogInterface.OnClickListener; | ||||||
| import android.content.Intent; | import android.content.Intent; | ||||||
| import android.content.pm.PackageManager.NameNotFoundException; | import android.content.pm.PackageManager.NameNotFoundException; | ||||||
| import android.net.Uri; | import android.net.Uri; | ||||||
|  | import android.os.Build; | ||||||
| import android.os.Environment; | import android.os.Environment; | ||||||
| import android.os.Handler; | import android.os.Handler; | ||||||
| import android.os.Message; | import android.os.Message; | ||||||
|  | import android.support.v4.content.FileProvider; | ||||||
| import android.util.Log; | import android.util.Log; | ||||||
| import android.view.LayoutInflater; | import android.view.LayoutInflater; | ||||||
| import android.view.View; | import android.view.View; | ||||||
| import android.widget.ProgressBar; | import android.widget.ProgressBar; | ||||||
| import android.widget.Toast; | import android.widget.Toast; | ||||||
| 
 | 
 | ||||||
|  | import com.novelbook.android.BuildConfig; | ||||||
|  | import com.novelbook.android.MyApp; | ||||||
| import com.novelbook.android.R; | import com.novelbook.android.R; | ||||||
| import com.novelbook.android.ReadActivity; | import com.novelbook.android.ReadActivity; | ||||||
| import com.novelbook.android.db.Novel; | import com.novelbook.android.db.Novel; | ||||||
|  | @ -295,46 +299,12 @@ public class UpdateManager { | ||||||
| 	 */ | 	 */ | ||||||
| 	private void showNoticeDialog() | 	private void showNoticeDialog() | ||||||
| 	{ | 	{ | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 		/*final AlertDialog.Builder normalDialog = |  | ||||||
| 				new AlertDialog.Builder(mContext); |  | ||||||
| 
 |  | ||||||
| 		normalDialog.setTitle("退出阅读"); |  | ||||||
| 		normalDialog.setMessage("确定退出阅读吗?"); |  | ||||||
| 		normalDialog.setPositiveButton("继续阅读", |  | ||||||
| 				new DialogInterface.OnClickListener() { |  | ||||||
| 					@Override |  | ||||||
| 					public void onClick(DialogInterface dialog, int which) { |  | ||||||
| 
 |  | ||||||
| 					} |  | ||||||
| 				}); |  | ||||||
| 		normalDialog.setNegativeButton("退出阅读", |  | ||||||
| 				new DialogInterface.OnClickListener() { |  | ||||||
| 					@Override |  | ||||||
| 					public void onClick(DialogInterface dialog, int which) { |  | ||||||
| 
 |  | ||||||
| 					} |  | ||||||
| 				}); |  | ||||||
| 
 |  | ||||||
| 		normalDialog.setOnDismissListener(new DialogInterface.OnDismissListener() { |  | ||||||
| 			@Override |  | ||||||
| 			public void onDismiss(DialogInterface dialog) { |  | ||||||
| 
 |  | ||||||
| 			} |  | ||||||
| 		}); |  | ||||||
| 
 |  | ||||||
| 		// 显示 |  | ||||||
| 		normalDialog.show(); |  | ||||||
| */ |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 		// 閺嬪嫰锟界<EFBFBD>纭呯樈濡楋拷 | 		// 閺嬪嫰锟界<EFBFBD>纭呯樈濡楋拷 | ||||||
| 	 	Builder builder = new Builder(mContext); | 	 	Builder builder = new Builder(mContext); | ||||||
| 		builder.setTitle(R.string.soft_update_title); | 		builder.setTitle(R.string.soft_update_title); | ||||||
| 		String upgradeDetails=mHashMap.get("details"); | 		String upgradeDetails=mHashMap.get("details"); | ||||||
| 		 | 		 | ||||||
| 		builder.setMessage( mContext.getPackageName() + " "+ mContext.getString(R.string.soft_update_info) +upgradeDetails ); | 		builder.setMessage( mContext.getPackageName() + " "+getVersionCode(mContext) +" " +mContext.getString(R.string.soft_update_info) +upgradeDetails ); | ||||||
| 		builder.setPositiveButton(R.string.soft_update_updatebtn, new OnClickListener() | 		builder.setPositiveButton(R.string.soft_update_updatebtn, new OnClickListener() | ||||||
| 		{ | 		{ | ||||||
| 			@Override | 			@Override | ||||||
|  | @ -480,7 +450,18 @@ public class UpdateManager { | ||||||
| 		} | 		} | ||||||
| 		// 闁俺绻僆ntent鐎瑰顥朅PK閺傚洣娆<EFBFBD> | 		// 闁俺绻僆ntent鐎瑰顥朅PK閺傚洣娆<EFBFBD> | ||||||
| 		Intent i = new Intent(Intent.ACTION_VIEW); | 		Intent i = new Intent(Intent.ACTION_VIEW); | ||||||
|  | 		if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) { | ||||||
| 			i.setDataAndType(Uri.parse("file://" + apkfile.toString()), "application/vnd.android.package-archive"); | 			i.setDataAndType(Uri.parse("file://" + apkfile.toString()), "application/vnd.android.package-archive"); | ||||||
|  | 			i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | ||||||
|  | 		} else { | ||||||
|  | 			// 声明需要的临时权限 | ||||||
|  | 			// 第二个参数,即第一步中配置的authorities | ||||||
|  | 			Uri contentUri = FileProvider.getUriForFile(MyApp.applicationContext, BuildConfig.APPLICATION_ID + ".provider", apkfile); | ||||||
|  | 			i.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); | ||||||
|  | 			i.setDataAndType(contentUri, "application/vnd.android.package-archive"); | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 		mContext.startActivity(i); | 		mContext.startActivity(i); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -22,10 +22,12 @@ public class Constants { | ||||||
|     public static  List<String> lstNt=null; |     public static  List<String> lstNt=null; | ||||||
|     //public static List<Progress> lstProgress=null; |     //public static List<Progress> lstProgress=null; | ||||||
|      public static String[] lstProgress={"连载中","已完本","新书"}; |      public static String[] lstProgress={"连载中","已完本","新书"}; | ||||||
|     public static int retryCnt =3; |     public static int retryCnt =5; | ||||||
|     public static int muluRetryCnt =3; |     public static int muluRetryCnt =5; | ||||||
|     // public static  List<String> lstProgress=null; |     // public static  List<String> lstProgress=null; | ||||||
|     public static boolean showDialogOnUi =true; |     public static boolean showDialogOnUi =true; | ||||||
|     public static boolean showDialogOnUiPage =false; |     public static boolean showDialogOnUiPage =false; | ||||||
|     public static String announcement ="免责声明:阅读内容均来自互联网,本软件仅提供转码服务"; |     public static String announcement ="免责声明:阅读内容均来自互联网,本软件仅提供转码服务"; | ||||||
|  |     public static String email =""; | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -83,7 +83,7 @@ public class LogcatHelper { | ||||||
|             mPID = pid; |             mPID = pid; | ||||||
|             try { |             try { | ||||||
|                 out = new FileOutputStream(new File(dir, "Novel-" |                 out = new FileOutputStream(new File(dir, "Novel-" | ||||||
|                         + CommonUtil.getFileName() + ".log")); |                         + CommonUtil.getFileName() + ".log"),true); | ||||||
|             } catch (FileNotFoundException e) { |             } catch (FileNotFoundException e) { | ||||||
|                 // TODO Auto-generated catch block |                 // TODO Auto-generated catch block | ||||||
|                 e.printStackTrace(); |                 e.printStackTrace(); | ||||||
|  | @ -123,9 +123,8 @@ public class LogcatHelper { | ||||||
|                     if (line.length() == 0) { |                     if (line.length() == 0) { | ||||||
|                         continue; |                         continue; | ||||||
|                     } |                     } | ||||||
|                     if (out != null && line.contains(mPID)) { |                     if (out != null/* && line.contains(mPID)*/) { | ||||||
|                         out.write((CommonUtil.getDateEN() + "  " + line + "\n") |                         out.write((CommonUtil.getDateEN() + "  " + line + "\n") .getBytes()); | ||||||
|                                 .getBytes()); |  | ||||||
|                     } |                     } | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -271,6 +271,7 @@ public class PageFactory implements ChangeSource{ | ||||||
|                     fileRetryCnt.clear();//只保留一个章节数据 |                     fileRetryCnt.clear();//只保留一个章节数据 | ||||||
|                     fileRetryCnt.put(chaptId, 1); |                     fileRetryCnt.put(chaptId, 1); | ||||||
|                     loadingTxt=""; |                     loadingTxt=""; | ||||||
|  |                     mBookUtil.fileRetryCnt.clear(); | ||||||
|                 } |                 } | ||||||
| 
 | 
 | ||||||
|                 Log.d(TAG, String.format("prepare book loadCurrentChapt %s, rertying count %s  ",chaptId, fileRetryCnt.get(chaptId))); |                 Log.d(TAG, String.format("prepare book loadCurrentChapt %s, rertying count %s  ",chaptId, fileRetryCnt.get(chaptId))); | ||||||
|  | @ -505,6 +506,12 @@ public static boolean busy(){ | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public void refreshChapter() { |     public void refreshChapter() { | ||||||
|  |         fileRetryCnt.clear(); | ||||||
|  |         mBookUtil.fileRetryCnt.clear(); | ||||||
|  |        if( chaptMap.containsKey(getCurrentChapter())){ | ||||||
|  |            chaptMap.remove(getCurrentChapter()); | ||||||
|  |        } | ||||||
|  | 
 | ||||||
|         mBookUtil.refreshChapter(); |         mBookUtil.refreshChapter(); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -891,15 +898,19 @@ private void hideSysUI(){ | ||||||
|         mBookPageWidget.postInvalidate(); |         mBookPageWidget.postInvalidate(); | ||||||
|         if(currentPage!=null && currentPage.getPageNo()==1){ |         if(currentPage!=null && currentPage.getPageNo()==1){ | ||||||
| 
 | 
 | ||||||
|  |             String sn = getNovel().getDomainName(); | ||||||
|  |              if(TextUtils.isEmpty(sn)){ | ||||||
|  |                  if(getSite()!=null &&getSite().getName() !=null ){ | ||||||
|  |                      sn =getSite().getName(); | ||||||
|  |                  } | ||||||
|  |              } | ||||||
|  | 
 | ||||||
|             String source =String.format("本章节内容来自网络"); |             String source =String.format("本章节内容来自网络"); | ||||||
|             if(getSite()!=null){ |             if(!TextUtils.isEmpty(sn)){ | ||||||
|                 source =String.format("本章节内容来自第三方网站:%s",getSite().getName()); |                 source =String.format("本章节内容来自第三方网站:%s",getSite().getName()); | ||||||
|             } |             } | ||||||
|             int anny= (int) CommonUtil.convertDpToPixel(mContext,40); |             int anny= (int) CommonUtil.convertDpToPixel(mContext,40); | ||||||
|             c.drawText(source,   marginWidth, statusMarginBottom  + mBatterryFontSize+anny, mBatterryPaint); |             c.drawText(source,   marginWidth, statusMarginBottom  + mBatterryFontSize+anny, mBatterryPaint); | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|              anny= (int) CommonUtil.convertDpToPixel(mContext,60); |              anny= (int) CommonUtil.convertDpToPixel(mContext,60); | ||||||
|             c.drawText( Constants.announcement,   marginWidth, statusMarginBottom  + mBatterryFontSize+anny, mBatterryPaint); |             c.drawText( Constants.announcement,   marginWidth, statusMarginBottom  + mBatterryFontSize+anny, mBatterryPaint); | ||||||
| 
 | 
 | ||||||
|  | @ -966,7 +977,7 @@ private void hideSysUI(){ | ||||||
| 
 | 
 | ||||||
|         if (currentPage.getEnd() >= mBookUtil.getChapterLen()) { |         if (currentPage.getEnd() >= mBookUtil.getChapterLen()) { | ||||||
|            Log.d(TAG,"已经是本章最后一页了"); |            Log.d(TAG,"已经是本章最后一页了"); | ||||||
|             if(mBookUtil.getChapters().size()==0){ |             if(mBookUtil.getChapters().size()==0 &&NetUtil.isNetworkConnected()){ | ||||||
| 
 | 
 | ||||||
|                 mStatus = Status.OPENING; |                 mStatus = Status.OPENING; | ||||||
|                 drawStatus(); |                 drawStatus(); | ||||||
|  | @ -1235,7 +1246,7 @@ if(book==null){ | ||||||
|         float height = 0; |         float height = 0; | ||||||
|         String line = ""; |         String line = ""; | ||||||
|         if(mBookUtil.getPosition(chaptId)==0) { |         if(mBookUtil.getPosition(chaptId)==0) { | ||||||
|         lines.add("\n");lines.add("\n"); |         lines.add("\n");//lines.add("\n"); | ||||||
|         } |         } | ||||||
|         calculateLineCount(); |         calculateLineCount(); | ||||||
|         while (mBookUtil.next(true,chaptId) != -1){ |         while (mBookUtil.next(true,chaptId) != -1){ | ||||||
|  | @ -1507,7 +1518,7 @@ if(book==null){ | ||||||
|         currentChaptPages =   loadCurrentChapt(currentChapter )     ; |         currentChaptPages =   loadCurrentChapt(currentChapter )     ; | ||||||
|         currentPage = getPageForBegin(0); |         currentPage = getPageForBegin(0); | ||||||
|         currentPage(true); |         currentPage(true); | ||||||
| 
 |         hideSysUI(); | ||||||
|     } |     } | ||||||
|     public void retryChapt(int chapNum){ |     public void retryChapt(int chapNum){ | ||||||
|             fileRetryCnt.clear(); |             fileRetryCnt.clear(); | ||||||
|  |  | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <selector xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <item  android:state_checked="true" android:drawable="@mipmap/switch_on" /> | ||||||
|  |     <item  android:state_checked="false" android:drawable="@mipmap/switch_off" /> | ||||||
|  | </selector> | ||||||
|  | @ -0,0 +1,25 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <shape xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <!-- 实心 --> | ||||||
|  |     <solid android:color="@color/colorPrimary"/> | ||||||
|  |     <!-- 渐变 --> | ||||||
|  |     <!--<gradient--> | ||||||
|  |         <!--android:startColor="#ff8c00"--> | ||||||
|  |         <!--android:endColor="#FFFFFF"--> | ||||||
|  |         <!--android:angle="270" />--> | ||||||
|  | 
 | ||||||
|  |     <!-- 描边 --> | ||||||
|  |     <stroke | ||||||
|  |         android:width="1dp" | ||||||
|  |         android:color="@color/colorPrimary" /> | ||||||
|  |     <!-- 圆角 --> | ||||||
|  |     <corners | ||||||
|  |         android:radius="6dp" /> | ||||||
|  |     <padding | ||||||
|  |         android:left="5dp" | ||||||
|  |         android:top="5dp" | ||||||
|  |         android:right="5dp" | ||||||
|  |         android:bottom="5dp" /> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | </shape> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <shape xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <solid android:color="@color/lightgray" /> | ||||||
|  |     <corners android:radius="1000dp" /> | ||||||
|  | </shape> | ||||||
|  | @ -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/crimson" /> | ||||||
|  |     <corners android:radius="1000dp" /> | ||||||
|  |  </shape> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#010101" android:pathData="M20,12l-1.41,-1.41L13,16.17V4h-2v12.17l-5.58,-5.59L4,12l8,8 8,-8z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M18,2H6c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2V4c0,-1.1 -0.9,-2 -2,-2zM6,4h5v8l-2.5,-1.5L6,12V4z"/> | ||||||
|  | </vector> | ||||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 780 B | 
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M17,3L7,3c-1.1,0 -1.99,0.9 -1.99,2L5,21l7,-3 7,3L19,5c0,-1.1 -0.9,-2 -2,-2zM17,18l-5,-2.18L7,18L7,5h10v13z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M14,4l2.29,2.29 -2.88,2.88 1.42,1.42 2.88,-2.88L20,10L20,4zM10,4L4,4v6l2.29,-2.29 4.71,4.7L11,20h2v-8.41l-5.29,-5.3z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M4,6L2,6v14c0,1.1 0.9,2 2,2h14v-2L4,20L4,6zM20,2L8,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM20,12l-2.5,-1.5L15,12L15,4h5v8z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | <vector xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     android:width="24dp" | ||||||
|  |     android:height="24dp" | ||||||
|  |     android:viewportWidth="24.0" | ||||||
|  |     android:viewportHeight="24.0"> | ||||||
|  |     <path | ||||||
|  |         android:fillColor="#FF000000" | ||||||
|  |         android:pathData="M3,13h8L11,3L3,3v10zM3,21h8v-6L3,15v6zM13,21h8L21,11h-8v10zM13,3v6h8L21,3h-8z" /> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M14,2L6,2c-1.1,0 -1.99,0.9 -1.99,2L4,20c0,1.1 0.89,2 1.99,2L18,22c1.1,0 2,-0.9 2,-2L20,8l-6,-6zM16,18L8,18v-2h8v2zM16,14L8,14v-2h8v2zM13,9L13,3.5L18.5,9L13,9z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M10,20h4L14,4h-4v16zM4,20h4v-8L4,12v8zM16,9v11h4L20,9h-4z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M16.5,3c-1.74,0 -3.41,0.81 -4.5,2.09C10.91,3.81 9.24,3 7.5,3 4.42,3 2,5.42 2,8.5c0,3.78 3.4,6.86 8.55,11.54L12,21.35l1.45,-1.32C18.6,15.36 22,12.28 22,8.5 22,5.42 19.58,3 16.5,3zM12.1,18.55l-0.1,0.1 -0.1,-0.1C7.14,14.24 4,11.39 4,8.5 4,6.5 5.5,5 7.5,5c1.54,0 3.04,0.99 3.57,2.36h1.87C13.46,5.99 14.96,5 16.5,5c2,0 3.5,1.5 3.5,3.5 0,2.89 -3.14,5.74 -7.9,10.05z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M20,2L4,2c-1.1,0 -1.99,0.9 -1.99,2L2,22l4,-4h14c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM13,14h-2v-2h2v2zM13,10h-2L11,6h2v4z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M6,7h2.5L5,3.5 1.5,7L4,7v10L1.5,17L5,20.5 8.5,17L6,17L6,7zM10,5v2h12L22,5L10,5zM10,19h12v-2L10,17v2zM10,13h12v-2L10,11v2z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | <vector xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     android:width="24dp" | ||||||
|  |     android:height="24dp" | ||||||
|  |     android:viewportWidth="24.0" | ||||||
|  |     android:viewportHeight="24.0"> | ||||||
|  |     <path | ||||||
|  |         android:fillColor="#FF000000" | ||||||
|  |         android:pathData="M10,20v-6h4v6h5v-8h3L12,3 2,12h3v8z" /> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M21,5c-1.11,-0.35 -2.33,-0.5 -3.5,-0.5 -1.95,0 -4.05,0.4 -5.5,1.5 -1.45,-1.1 -3.55,-1.5 -5.5,-1.5S2.45,4.9 1,6v14.65c0,0.25 0.25,0.5 0.5,0.5 0.1,0 0.15,-0.05 0.25,-0.05C3.1,20.45 5.05,20 6.5,20c1.95,0 4.05,0.4 5.5,1.5 1.35,-0.85 3.8,-1.5 5.5,-1.5 1.65,0 3.35,0.3 4.75,1.05 0.1,0.05 0.15,0.05 0.25,0.05 0.25,0 0.5,-0.25 0.5,-0.5L23,6c-0.6,-0.45 -1.25,-0.75 -2,-1zM21,18.5c-1.1,-0.35 -2.3,-0.5 -3.5,-0.5 -1.7,0 -4.15,0.65 -5.5,1.5L12,8c1.35,-0.85 3.8,-1.5 5.5,-1.5 1.2,0 2.4,0.15 3.5,0.5v11.5z"/> | ||||||
|  | </vector> | ||||||
|  | @ -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="#008577" | ||||||
|  |         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> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M4,6L2,6v14c0,1.1 0.9,2 2,2h14v-2L4,20L4,6zM20,2L8,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM19,11L9,11L9,9h10v2zM15,15L9,15v-2h6v2zM19,7L9,7L9,5h10v2z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | <vector xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |         android:width="24dp" | ||||||
|  |         android:height="24dp" | ||||||
|  |         android:viewportWidth="24.0" | ||||||
|  |         android:viewportHeight="24.0"> | ||||||
|  |     <path | ||||||
|  |         android:fillColor="#FF000000" | ||||||
|  |         android:pathData="M19,3L4.99,3c-1.11,0 -1.98,0.9 -1.98,2L3,19c0,1.1 0.88,2 1.99,2L19,21c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM19,15h-4c0,1.66 -1.35,3 -3,3s-3,-1.34 -3,-3L4.99,15L4.99,5L19,5v10zM16,10h-2L14,7h-4v3L8,10l4,4 4,-4z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,13 @@ | ||||||
|  | <vector xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     android:width="24dp" | ||||||
|  |     android:height="24dp" | ||||||
|  |     android:viewportWidth="24.0" | ||||||
|  |     android:viewportHeight="24.0"> | ||||||
|  |     <path | ||||||
|  |         android:fillColor="#FF000000" | ||||||
|  |         android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.89,2 2,2zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5, | ||||||
|  |         4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z" | ||||||
|  | 
 | ||||||
|  |         /> | ||||||
|  | 
 | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M19,3L5,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM9,17L7,17v-7h2v7zM13,17h-2L11,7h2v10zM17,17h-2v-4h2v4z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M15.5,14h-0.79l-0.28,-0.27C15.41,12.59 16,11.11 16,9.5 16,5.91 13.09,3 9.5,3S3,5.91 3,9.5 5.91,16 9.5,16c1.61,0 3.09,-0.59 4.23,-1.57l0.27,0.28v0.79l5,4.99L20.49,19l-4.99,-5zM9.5,14C7.01,14 5,11.99 5,9.5S7.01,5 9.5,5 14,7.01 14,9.5 11.99,14 9.5,14z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | <vector xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |         android:width="24dp" | ||||||
|  |         android:height="24dp" | ||||||
|  |         android:viewportWidth="24.0" | ||||||
|  |         android:viewportHeight="24.0"> | ||||||
|  |     <path | ||||||
|  |         android:fillColor="#FF000000" | ||||||
|  |         android:pathData="M11.99,2C6.47,2 2,6.47 2,12s4.47,10 9.99,10S22,17.53 22,12 17.52,2 11.99,2zM12,20c-4.42,0 -8,-3.58 -8,-8s3.58,-8 8,-8 8,3.58 8,8 -3.58,8 -8,8zM13,9.94L14.06,11l1.06,-1.06L16.18,11l1.06,-1.06 -2.12,-2.12zM8.88,9.94L9.94,11 11,9.94 8.88,7.82 6.76,9.94 7.82,11zM12,17.5c2.33,0 4.31,-1.46 5.11,-3.5L6.89,14c0.8,2.04 2.78,3.5 5.11,3.5z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M19.43,12.98c0.04,-0.32 0.07,-0.64 0.07,-0.98s-0.03,-0.66 -0.07,-0.98l2.11,-1.65c0.19,-0.15 0.24,-0.42 0.12,-0.64l-2,-3.46c-0.12,-0.22 -0.39,-0.3 -0.61,-0.22l-2.49,1c-0.52,-0.4 -1.08,-0.73 -1.69,-0.98l-0.38,-2.65C14.46,2.18 14.25,2 14,2h-4c-0.25,0 -0.46,0.18 -0.49,0.42l-0.38,2.65c-0.61,0.25 -1.17,0.59 -1.69,0.98l-2.49,-1c-0.23,-0.09 -0.49,0 -0.61,0.22l-2,3.46c-0.13,0.22 -0.07,0.49 0.12,0.64l2.11,1.65c-0.04,0.32 -0.07,0.65 -0.07,0.98s0.03,0.66 0.07,0.98l-2.11,1.65c-0.19,0.15 -0.24,0.42 -0.12,0.64l2,3.46c0.12,0.22 0.39,0.3 0.61,0.22l2.49,-1c0.52,0.4 1.08,0.73 1.69,0.98l0.38,2.65c0.03,0.24 0.24,0.42 0.49,0.42h4c0.25,0 0.46,-0.18 0.49,-0.42l0.38,-2.65c0.61,-0.25 1.17,-0.59 1.69,-0.98l2.49,1c0.23,0.09 0.49,0 0.61,-0.22l2,-3.46c0.12,-0.22 0.07,-0.49 -0.12,-0.64l-2.11,-1.65zM12,15.5c-1.93,0 -3.5,-1.57 -3.5,-3.5s1.57,-3.5 3.5,-3.5 3.5,1.57 3.5,3.5 -1.57,3.5 -3.5,3.5z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M22,9.24l-7.19,-0.62L12,2 9.19,8.63 2,9.24l5.46,4.73L5.82,21 12,17.27 18.18,21l-1.63,-7.03L22,9.24zM12,15.4l-3.76,2.27 1,-4.28 -3.32,-2.88 4.38,-0.38L12,6.1l1.71,4.04 4.38,0.38 -3.32,2.88 1,4.28L12,15.4z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M2,20h20v-4L2,16v4zM4,17h2v2L4,19v-2zM2,4v4h20L22,4L2,4zM6,7L4,7L4,5h2v2zM2,14h20v-4L2,10v4zM4,11h2v2L4,13v-2z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | <vector xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |         android:width="24dp" | ||||||
|  |         android:height="24dp" | ||||||
|  |         android:viewportWidth="24.0" | ||||||
|  |         android:viewportHeight="24.0"> | ||||||
|  |     <path | ||||||
|  |         android:fillColor="#FF000000" | ||||||
|  |         android:pathData="M12,12c0,-3 2.5,-5.5 5.5,-5.5S23,9 23,12L12,12zM12,12c0,3 -2.5,5.5 -5.5,5.5S1,15 1,12h11zM12,12c-3,0 -5.5,-2.5 -5.5,-5.5S9,1 12,1v11zM12,12c3,0 5.5,2.5 5.5,5.5S15,23 12,23L12,12z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,23 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <ripple xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     xmlns:tools="http://schemas.android.com/tools" | ||||||
|  |     android:color="@color/grey" | ||||||
|  |     tools:targetApi="lollipop"> | ||||||
|  | 
 | ||||||
|  |     <item> | ||||||
|  |         <shape android:shape="rectangle"> | ||||||
|  |             <!-- solid android:color="@color/colorAccent" /--> | ||||||
|  |             <solid android:color="@color/colorPrimaryDark" /> | ||||||
|  |             <corners android:radius="3dp" /> | ||||||
|  |         </shape> | ||||||
|  |     </item> | ||||||
|  | 
 | ||||||
|  | </ripple> | ||||||
|  |     <!-- | ||||||
|  |     <item | ||||||
|  |         android:id="@android:id/mask" | ||||||
|  |         android:drawable="@color/colorAccent" /> | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  |     以此作为 backGround时,控件初始时使用 item 作为bg ; 按压时会有一个色值渐变效果,按住不松时会显示 ripple 和 item 中颜色的混合值; | ||||||
|  |         松手的瞬间会显示 ripple 中色值,然后再渐变为item中的色值--> | ||||||
|  | @ -0,0 +1,7 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <selector xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  | 
 | ||||||
|  | <item android:drawable="@drawable/button_chk_bg" android:state_checked="true"></item> | ||||||
|  | <item android:drawable="@drawable/button_bg" android:state_checked="false"></item> | ||||||
|  | 
 | ||||||
|  | </selector> | ||||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 605 B | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 672 B | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 677 B | 
|  | @ -0,0 +1,18 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <selector | ||||||
|  |   xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <item android:state_selected="true"> | ||||||
|  |         <shape android:shape="rectangle"> | ||||||
|  |             <solid android:color="#00000000" /> | ||||||
|  |             <stroke android:width="0.5dip" android:color="@color/colorPrimary" /> | ||||||
|  |             <corners android:radius="2.0dip" /> | ||||||
|  |         </shape> | ||||||
|  |     </item> | ||||||
|  |     <item> | ||||||
|  |         <shape android:shape="rectangle"> | ||||||
|  |             <solid android:color="#00000000" /> | ||||||
|  |             <stroke android:width="0.30000007dip" android:color="#fff8f8f8" /> | ||||||
|  |             <corners android:radius="2.0dip" /> | ||||||
|  |         </shape> | ||||||
|  |     </item> | ||||||
|  | </selector> | ||||||
|  | @ -0,0 +1,6 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <selector | ||||||
|  |   xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <item android:state_pressed="true" android:drawable="@drawable/slide_block_click" /> | ||||||
|  |     <item android:drawable="@drawable/slide_block" /> | ||||||
|  | </selector> | ||||||
|  | @ -0,0 +1,19 @@ | ||||||
|  | <shape xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|  |     android:shape="rectangle"> | ||||||
|  |     <gradient | ||||||
|  |         android:angle="135" | ||||||
|  | 
 | ||||||
|  |         android:endColor="@color/colorPrimaryDark" | ||||||
|  |         android:startColor="@color/colorPrimary" | ||||||
|  |         android:type="linear" /> | ||||||
|  | </shape> | ||||||
|  | 
 | ||||||
|  | <!-- | ||||||
|  | <gradient | ||||||
|  |         android:angle="135" | ||||||
|  |         android:centerColor="#009688" | ||||||
|  |         android:endColor="#00695C" | ||||||
|  |         android:startColor="#4DB6AC" | ||||||
|  |         android:type="linear" /> | ||||||
|  | 
 | ||||||
|  | --> | ||||||
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 1.0 KiB | 
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 975 B | 
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#010101" android:pathData="M20,12l-1.41,-1.41L13,16.17V4h-2v12.17l-5.58,-5.59L4,12l8,8 8,-8z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M20,2L4,2c-1.1,0 -1.99,0.9 -1.99,2L2,22l4,-4h14c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM13,14h-2v-2h2v2zM13,10h-2L11,6h2v4z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M19,9h-4V3H9v6H5l7,7 7,-7zM5,18v2h14v-2H5z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M21,5c-1.11,-0.35 -2.33,-0.5 -3.5,-0.5 -1.95,0 -4.05,0.4 -5.5,1.5 -1.45,-1.1 -3.55,-1.5 -5.5,-1.5S2.45,4.9 1,6v14.65c0,0.25 0.25,0.5 0.5,0.5 0.1,0 0.15,-0.05 0.25,-0.05C3.1,20.45 5.05,20 6.5,20c1.95,0 4.05,0.4 5.5,1.5 1.35,-0.85 3.8,-1.5 5.5,-1.5 1.65,0 3.35,0.3 4.75,1.05 0.1,0.05 0.15,0.05 0.25,0.05 0.25,0 0.5,-0.25 0.5,-0.5L23,6c-0.6,-0.45 -1.25,-0.75 -2,-1zM21,18.5c-1.1,-0.35 -2.3,-0.5 -3.5,-0.5 -1.7,0 -4.15,0.65 -5.5,1.5L12,8c1.35,-0.85 3.8,-1.5 5.5,-1.5 1.2,0 2.4,0.15 3.5,0.5v11.5z"/> | ||||||
|  | </vector> | ||||||
|  | @ -0,0 +1,5 @@ | ||||||
|  | <vector android:height="24dp" android:tint="#FFFFFF" | ||||||
|  |     android:viewportHeight="24.0" android:viewportWidth="24.0" | ||||||
|  |     android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <path android:fillColor="#FF000000" android:pathData="M19.43,12.98c0.04,-0.32 0.07,-0.64 0.07,-0.98s-0.03,-0.66 -0.07,-0.98l2.11,-1.65c0.19,-0.15 0.24,-0.42 0.12,-0.64l-2,-3.46c-0.12,-0.22 -0.39,-0.3 -0.61,-0.22l-2.49,1c-0.52,-0.4 -1.08,-0.73 -1.69,-0.98l-0.38,-2.65C14.46,2.18 14.25,2 14,2h-4c-0.25,0 -0.46,0.18 -0.49,0.42l-0.38,2.65c-0.61,0.25 -1.17,0.59 -1.69,0.98l-2.49,-1c-0.23,-0.09 -0.49,0 -0.61,0.22l-2,3.46c-0.13,0.22 -0.07,0.49 0.12,0.64l2.11,1.65c-0.04,0.32 -0.07,0.65 -0.07,0.98s0.03,0.66 0.07,0.98l-2.11,1.65c-0.19,0.15 -0.24,0.42 -0.12,0.64l2,3.46c0.12,0.22 0.39,0.3 0.61,0.22l2.49,-1c0.52,0.4 1.08,0.73 1.69,0.98l0.38,2.65c0.03,0.24 0.24,0.42 0.49,0.42h4c0.25,0 0.46,-0.18 0.49,-0.42l0.38,-2.65c0.61,-0.25 1.17,-0.59 1.69,-0.98l2.49,1c0.23,0.09 0.49,0 0.61,-0.22l2,-3.46c0.12,-0.22 0.07,-0.49 -0.12,-0.64l-2.11,-1.65zM12,15.5c-1.93,0 -3.5,-1.57 -3.5,-3.5s1.57,-3.5 3.5,-3.5 3.5,1.57 3.5,3.5 -1.57,3.5 -3.5,3.5z"/> | ||||||
|  | </vector> | ||||||
|  | @ -1,33 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <android.support.constraint.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/container" |  | ||||||
|     android:layout_width="match_parent" |  | ||||||
|     android:layout_height="match_parent" |  | ||||||
|     tools:context=".Main3Activity"> |  | ||||||
| 
 |  | ||||||
|     <TextView |  | ||||||
|         android:id="@+id/message" |  | ||||||
|         android:layout_width="wrap_content" |  | ||||||
|         android:layout_height="wrap_content" |  | ||||||
|         android:layout_marginStart="@dimen/activity_horizontal_margin" |  | ||||||
|         android:layout_marginLeft="@dimen/activity_horizontal_margin" |  | ||||||
|         android:layout_marginTop="@dimen/activity_vertical_margin" |  | ||||||
|         android:text="@string/title_home" |  | ||||||
|         app:layout_constraintLeft_toLeftOf="parent" |  | ||||||
|         app:layout_constraintTop_toTopOf="parent" /> |  | ||||||
| 
 |  | ||||||
|     <android.support.design.widget.BottomNavigationView |  | ||||||
|         android:id="@+id/navigation" |  | ||||||
|         android:layout_width="0dp" |  | ||||||
|         android:layout_height="wrap_content" |  | ||||||
|         android:layout_marginStart="0dp" |  | ||||||
|         android:layout_marginEnd="0dp" |  | ||||||
|         android:background="?android:attr/windowBackground" |  | ||||||
|         app:layout_constraintBottom_toBottomOf="parent" |  | ||||||
|         app:layout_constraintLeft_toLeftOf="parent" |  | ||||||
|         app:layout_constraintRight_toRightOf="parent" |  | ||||||
|         app:menu="@menu/navigation" /> |  | ||||||
| 
 |  | ||||||
| </android.support.constraint.ConstraintLayout> |  | ||||||
|  | @ -1,25 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <android.support.v4.widget.DrawerLayout 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/drawer_layout" |  | ||||||
|     android:layout_width="match_parent" |  | ||||||
|     android:layout_height="match_parent" |  | ||||||
|     android:fitsSystemWindows="true" |  | ||||||
|     tools:openDrawer="start"> |  | ||||||
| 
 |  | ||||||
|     <include |  | ||||||
|         layout="@layout/app_bar_main4" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="match_parent" /> |  | ||||||
| 
 |  | ||||||
|     <android.support.design.widget.NavigationView |  | ||||||
|         android:id="@+id/nav_view" |  | ||||||
|         android:layout_width="wrap_content" |  | ||||||
|         android:layout_height="match_parent" |  | ||||||
|         android:layout_gravity="start" |  | ||||||
|         android:fitsSystemWindows="true" |  | ||||||
|         app:headerLayout="@layout/nav_header_main4" |  | ||||||
|         app:menu="@menu/activity_main4_drawer" /> |  | ||||||
| 
 |  | ||||||
| </android.support.v4.widget.DrawerLayout> |  | ||||||
|  | @ -1,33 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
|     xmlns:tools="http://schemas.android.com/tools" |  | ||||||
|     android:id="@+id/activity_main" |  | ||||||
|     android:layout_width="match_parent" |  | ||||||
|     android:layout_height="match_parent" |  | ||||||
|       > |  | ||||||
| 
 |  | ||||||
|     <ImageView |  | ||||||
|         android:id="@+id/imageView" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="match_parent" |  | ||||||
|         android:scaleType="centerCrop" |  | ||||||
|     /> |  | ||||||
| 
 |  | ||||||
|     <io.alterac.blurkit.BlurLayout xmlns:blurkit="http://schemas.android.com/apk/res-auto" |  | ||||||
|         android:id="@+id/blurLayout" |  | ||||||
|         android:layout_width="150dp" |  | ||||||
|         android:layout_height="150dp" |  | ||||||
|         android:layout_centerInParent="true" |  | ||||||
|         blurkit:blk_cornerRadius="150dp" |  | ||||||
|         blurkit:blk_downscaleFactor="0.25"> |  | ||||||
| 
 |  | ||||||
|         <TextView |  | ||||||
|             android:layout_width="wrap_content" |  | ||||||
|             android:layout_height="wrap_content" |  | ||||||
|             android:layout_gravity="center" |  | ||||||
|             android:text="BlurKit!" |  | ||||||
|             android:textColor="@android:color/white" /> |  | ||||||
| 
 |  | ||||||
|     </io.alterac.blurkit.BlurLayout> |  | ||||||
| 
 |  | ||||||
| </RelativeLayout> |  | ||||||
|  | @ -1,54 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
|     xmlns:app="http://schemas.android.com/apk/res-auto" |  | ||||||
|     xmlns:tools="http://schemas.android.com/tools" |  | ||||||
|     android:id="@+id/main_content" |  | ||||||
|     android:layout_width="match_parent" |  | ||||||
|     android:layout_height="match_parent" |  | ||||||
|     android:fitsSystemWindows="true" |  | ||||||
|     tools:context=".Main6Activity"> |  | ||||||
| 
 |  | ||||||
|     <android.support.design.widget.AppBarLayout |  | ||||||
|         android:id="@+id/appbar" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="wrap_content" |  | ||||||
|         android:paddingTop="@dimen/appbar_padding_top" |  | ||||||
|         android:theme="@style/ToolBarTheme.AppBarOverlay"> |  | ||||||
| 
 |  | ||||||
|         <android.support.v7.widget.Toolbar |  | ||||||
|             android:id="@+id/toolbar" |  | ||||||
|             android:layout_width="match_parent" |  | ||||||
|             android:layout_height="?attr/actionBarSize" |  | ||||||
|             android:layout_weight="1" |  | ||||||
|             android:background="?attr/colorPrimary" |  | ||||||
|             app:layout_scrollFlags="scroll|enterAlways" |  | ||||||
|             app:popupTheme="@style/ToolBarTheme.PopupOverlay" |  | ||||||
|             app:title="@string/app_name"> |  | ||||||
| 
 |  | ||||||
|         </android.support.v7.widget.Toolbar> |  | ||||||
| 
 |  | ||||||
|     </android.support.design.widget.AppBarLayout> |  | ||||||
| 
 |  | ||||||
|     <com.flyco.tablayout.SlidingTabLayout |  | ||||||
|         android:id="@+id/tab_layout" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="40dp" |  | ||||||
|         android:background="@color/white" |  | ||||||
|         app:tl_indicator_color="@color/crimson" |  | ||||||
|         app:tl_indicator_corner_radius="1.5dp" |  | ||||||
|         app:tl_indicator_height="2dp" |  | ||||||
|         app:tl_indicator_width="45dp" |  | ||||||
|         app:tl_textSelectColor="@color/crimson" |  | ||||||
|         app:tl_textUnselectColor="@color/grey" |  | ||||||
|         app:tl_tab_space_equal ="true" |  | ||||||
|         android:layout_marginTop="?attr/actionBarSize" |  | ||||||
|         /> |  | ||||||
|     <android.support.v4.view.ViewPager |  | ||||||
|         android:id="@+id/container" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="match_parent" |  | ||||||
|         app:layout_behavior="@string/appbar_scrolling_view_behavior" /> |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| </android.support.design.widget.CoordinatorLayout> |  | ||||||
|  | @ -1,46 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
|     xmlns:app="http://schemas.android.com/apk/res-auto" |  | ||||||
|     xmlns:tools="http://schemas.android.com/tools" |  | ||||||
|     android:id="@+id/main_content" |  | ||||||
|     android:layout_width="match_parent" |  | ||||||
|     android:layout_height="match_parent" |  | ||||||
|     android:fitsSystemWindows="true" |  | ||||||
|     tools:context=".Main7Activity"> |  | ||||||
| 
 |  | ||||||
|     <android.support.design.widget.AppBarLayout |  | ||||||
|         android:id="@+id/appbar" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="wrap_content" |  | ||||||
|         android:paddingTop="@dimen/appbar_padding_top" |  | ||||||
|         android:theme="@style/ToolBarTheme.AppBarOverlay"> |  | ||||||
| 
 |  | ||||||
|         <android.support.v7.widget.Toolbar |  | ||||||
|             android:id="@+id/toolbar" |  | ||||||
|             android:layout_width="match_parent" |  | ||||||
|             android:layout_height="?attr/actionBarSize" |  | ||||||
|             android:layout_weight="1" |  | ||||||
|             android:background="?attr/colorPrimary" |  | ||||||
|             app:layout_scrollFlags="scroll|enterAlways" |  | ||||||
|             app:popupTheme="@style/ToolBarTheme.PopupOverlay" |  | ||||||
|             app:title="@string/app_name"> |  | ||||||
| 
 |  | ||||||
|         </android.support.v7.widget.Toolbar> |  | ||||||
| 
 |  | ||||||
|     </android.support.design.widget.AppBarLayout> |  | ||||||
| 
 |  | ||||||
|     <android.support.v4.view.ViewPager |  | ||||||
|         android:id="@+id/container" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="match_parent" |  | ||||||
|         app:layout_behavior="@string/appbar_scrolling_view_behavior" /> |  | ||||||
| 
 |  | ||||||
|     <android.support.design.widget.FloatingActionButton |  | ||||||
|         android:id="@+id/fab" |  | ||||||
|         android:layout_width="wrap_content" |  | ||||||
|         android:layout_height="wrap_content" |  | ||||||
|         android:layout_gravity="end|bottom" |  | ||||||
|         android:layout_margin="@dimen/fab_margin" |  | ||||||
|         app:srcCompat="@android:drawable/ic_dialog_email" /> |  | ||||||
| 
 |  | ||||||
| </android.support.design.widget.CoordinatorLayout> |  | ||||||
|  | @ -1,121 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <android.support.v4.widget.DrawerLayout |  | ||||||
|     xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
|     xmlns:tools="http://schemas.android.com/tools" |  | ||||||
|     xmlns:app="http://schemas.android.com/apk/res-auto" |  | ||||||
|     android:id="@+id/drawer_layout" |  | ||||||
|     android:layout_width="match_parent" |  | ||||||
|     android:layout_height="match_parent" |  | ||||||
|     android:fitsSystemWindows="true" |  | ||||||
|     tools:openDrawer="start"> |  | ||||||
| 
 |  | ||||||
|     <android.support.constraint.ConstraintLayout |  | ||||||
|     android:layout_width="match_parent" |  | ||||||
|     android:layout_height="match_parent"> |  | ||||||
| 
 |  | ||||||
|     <LinearLayout |  | ||||||
|         android:id="@+id/activty_content" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="match_parent" |  | ||||||
| 
 |  | ||||||
|         android:orientation="vertical"> |  | ||||||
| 
 |  | ||||||
|         <android.support.v7.widget.Toolbar |  | ||||||
|             android:id="@+id/toolbar" |  | ||||||
|             android:layout_width="match_parent" |  | ||||||
|             android:layout_height="wrap_content" |  | ||||||
|             android:background="@color/colorAccent" |  | ||||||
|             android:minHeight="?attr/actionBarSize"> |  | ||||||
|             <!-- |  | ||||||
|                     toolbar:navigationIcon="@mipmap/ic_launcher_round" |  | ||||||
|                     toolbar:logo="@mipmap/ic_launcher" |  | ||||||
|                     toolbar:subtitle="456" |  | ||||||
|                     toolbar:title="123"> |  | ||||||
|                      > |  | ||||||
|                      --> |  | ||||||
|             <TextView |  | ||||||
|                 android:layout_width="wrap_content" |  | ||||||
|                 android:layout_height="wrap_content" |  | ||||||
|                 android:text="Clock" /> |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|         </android.support.v7.widget.Toolbar> |  | ||||||
|         <FrameLayout |  | ||||||
|             android:id="@+id/realtabcontent" |  | ||||||
|             android:layout_width="match_parent" |  | ||||||
|             android:layout_height="0dp" |  | ||||||
|             android:layout_weight="1"> |  | ||||||
| 
 |  | ||||||
|             <LinearLayout |  | ||||||
| 
 |  | ||||||
|                 android:layout_width="match_parent" |  | ||||||
|                 android:layout_height="match_parent" |  | ||||||
|                 android:orientation="vertical" |  | ||||||
| 
 |  | ||||||
|                 > |  | ||||||
| 
 |  | ||||||
|                 <TextView |  | ||||||
|                     android:id="@+id/message" |  | ||||||
|                     android:layout_width="wrap_content" |  | ||||||
|                     android:layout_height="wrap_content" |  | ||||||
|                     android:text="@string/title_home" /> |  | ||||||
| 
 |  | ||||||
|                 <TextView |  | ||||||
|                     android:id="@+id/message2" |  | ||||||
|                     android:layout_width="wrap_content" |  | ||||||
|                     android:layout_height="wrap_content" |  | ||||||
|                     android:text="@string/title_home" /> |  | ||||||
| 
 |  | ||||||
|                 <TextView |  | ||||||
|                     android:id="@+id/message3" |  | ||||||
|                     android:layout_width="159dp" |  | ||||||
|                     android:layout_height="92dp" |  | ||||||
|                     android:text="@string/title_home" /> |  | ||||||
|                 <TextView |  | ||||||
|                     android:id="@+id/message4" |  | ||||||
|                     android:layout_width="wrap_content" |  | ||||||
|                     android:layout_height="wrap_content" |  | ||||||
|                     android:layout_marginEnd="28dp" |  | ||||||
|                     android:layout_marginRight="28dp" |  | ||||||
|                     android:layout_marginBottom="8dp" |  | ||||||
|                     android:text="@string/title_home" |  | ||||||
|                     app:layout_constraintBottom_toTopOf="@+id/navigation" |  | ||||||
|                     app:layout_constraintEnd_toEndOf="parent" /> |  | ||||||
|             </LinearLayout> |  | ||||||
|         </FrameLayout> |  | ||||||
|     </LinearLayout> |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|         <android.support.design.widget.BottomNavigationView |  | ||||||
|             android:id="@+id/navigation" |  | ||||||
|             android:layout_width="0dp" |  | ||||||
|             android:layout_height="wrap_content" |  | ||||||
|             android:layout_marginStart="0dp" |  | ||||||
|             android:layout_marginEnd="0dp" |  | ||||||
|             android:background="?android:attr/windowBackground" |  | ||||||
|             app:layout_constraintBottom_toBottomOf="parent" |  | ||||||
|             app:layout_constraintLeft_toLeftOf="parent" |  | ||||||
|             app:layout_constraintRight_toRightOf="parent" |  | ||||||
| 
 |  | ||||||
|             app:menu="@menu/navigation" /> |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     </android.support.constraint.ConstraintLayout> |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     <android.support.design.widget.NavigationView |  | ||||||
|         android:id="@+id/nav_view" |  | ||||||
|         android:layout_width="wrap_content" |  | ||||||
|         android:layout_height="match_parent" |  | ||||||
|         android:layout_gravity="start" |  | ||||||
|         android:fitsSystemWindows="true" |  | ||||||
|         app:headerLayout="@layout/nav_header_main" |  | ||||||
|         app:menu="@menu/activity_main_drawer" /> |  | ||||||
|     </android.support.v4.widget.DrawerLayout> |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|  | @ -122,14 +122,14 @@ | ||||||
|         android:layout_height="wrap_content" |         android:layout_height="wrap_content" | ||||||
|         android:gravity="bottom" |         android:gravity="bottom" | ||||||
|         android:background="@color/white" |         android:background="@color/white" | ||||||
|         android:padding="10dp" |         android:padding="40dp" | ||||||
|         android:paddingBottom="5dp" |         android:paddingBottom="5dp" | ||||||
|         > |         > | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|         <LinearLayout |         <LinearLayout | ||||||
|             android:orientation="vertical" |             android:orientation="vertical" | ||||||
|             android:layout_width="60dp" |             android:layout_width="wrap_content" | ||||||
|             android:layout_height="wrap_content" |             android:layout_height="wrap_content" | ||||||
|             android:id="@+id/llClearCache" |             android:id="@+id/llClearCache" | ||||||
|             android:gravity="bottom" |             android:gravity="bottom" | ||||||
|  | @ -166,7 +166,7 @@ | ||||||
| 
 | 
 | ||||||
|             android:background="@drawable/item_selector" |             android:background="@drawable/item_selector" | ||||||
|             android:clickable="true" |             android:clickable="true" | ||||||
|             android:layout_marginStart="5dp" |             android:layout_marginStart="30dp" | ||||||
|             android:layout_marginEnd="5dp" |             android:layout_marginEnd="5dp" | ||||||
|            > |            > | ||||||
|             <ImageView |             <ImageView | ||||||
|  |  | ||||||
|  | @ -1,26 +0,0 @@ | ||||||
| <android.support.v4.widget.DrawerLayout 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/drawer_layout" |  | ||||||
|     android:layout_width="match_parent" |  | ||||||
|     android:layout_height="match_parent" |  | ||||||
|     android:fitsSystemWindows="true" |  | ||||||
|     tools:openDrawer="start"> |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     <include |  | ||||||
|         layout="@layout/realcontent" |  | ||||||
|         android:layout_width="match_parent" |  | ||||||
|         android:layout_height="match_parent" /> |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|     <android.support.design.widget.NavigationView |  | ||||||
|         android:id="@+id/nav_view" |  | ||||||
|         android:layout_width="wrap_content" |  | ||||||
|         android:layout_height="match_parent" |  | ||||||
|         android:layout_gravity="start" |  | ||||||
|         android:fitsSystemWindows="true" |  | ||||||
|         app:headerLayout="@layout/nav_header_main" |  | ||||||
|         app:menu="@menu/activity_main_drawer" /> |  | ||||||
| 
 |  | ||||||
| </android.support.v4.widget.DrawerLayout> |  | ||||||
|  | @ -6,30 +6,35 @@ | ||||||
|     <group android:checkableBehavior="single"> |     <group android:checkableBehavior="single"> | ||||||
| 
 | 
 | ||||||
|         <item |         <item | ||||||
|             android:id="@+id/nav_gallery" |             android:id="@+id/nav_history" | ||||||
|             android:icon="@drawable/ic_mood_black_24dp" |             android:icon="@drawable/ic_history_black_24dp" | ||||||
|             android:title="最近浏览" /> |             android:title="最近浏览" /> | ||||||
| 
 | 
 | ||||||
|         <item |         <item | ||||||
|             android:id="@+id/nav_huancun" |             android:id="@+id/nav_huancun" | ||||||
|             android:icon="@drawable/ic_mood_black_24dp" |             android:icon="@drawable/ic_get_app_black_24dp" | ||||||
|             android:title="下载管理" /> |             android:title="下载管理" /> | ||||||
|         <item |         <item | ||||||
|             android:id="@+id/nav_haoping" |             android:id="@+id/nav_haoping" | ||||||
|             android:icon="@drawable/ic_mood_black_24dp" |             android:icon="@drawable/ic_mood_black_24dp" | ||||||
|             android:title="给个好评" /> |             android:title="给个好评" | ||||||
|  |             android:visible="false" | ||||||
|  |             /> | ||||||
|         <item |         <item | ||||||
|             android:id="@+id/nav_fenxiang" |             android:id="@+id/nav_fenxiang" | ||||||
|             android:icon="@drawable/ic_menu_share" |             android:icon="@drawable/ic_menu_share" | ||||||
|  | 
 | ||||||
|             android:title="分享应用" /> |             android:title="分享应用" /> | ||||||
|         <item |         <item | ||||||
|             android:id="@+id/nav_advice" |             android:id="@+id/nav_advice" | ||||||
|             android:icon="@drawable/ic_mood_black_24dp" |             android:icon="@drawable/ic_feedback_black_24dp" | ||||||
|  | 
 | ||||||
|             android:title="意见反馈" /> |             android:title="意见反馈" /> | ||||||
| 
 | 
 | ||||||
|         <item |         <item | ||||||
|             android:id="@+id/nav_setup" |             android:id="@+id/nav_setup" | ||||||
|             android:icon="@drawable/ic_menu_send" |             android:icon="@drawable/ic_settings_black_24dp" | ||||||
|  | 
 | ||||||
|             android:title="设置" /> |             android:title="设置" /> | ||||||
|     </group> |     </group> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1,38 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <menu xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
|     xmlns:tools="http://schemas.android.com/tools" |  | ||||||
|     tools:showIn="navigation_view"> |  | ||||||
| 
 |  | ||||||
|     <group android:checkableBehavior="single"> |  | ||||||
|         <item |  | ||||||
|             android:id="@+id/nav_camera" |  | ||||||
|             android:icon="@drawable/ic_menu_camera" |  | ||||||
|             android:title="Import" /> |  | ||||||
|         <item |  | ||||||
|             android:id="@+id/nav_gallery" |  | ||||||
|             android:icon="@drawable/ic_menu_gallery" |  | ||||||
|             android:title="Gallery" /> |  | ||||||
|         <item |  | ||||||
|             android:id="@+id/nav_slideshow" |  | ||||||
|             android:icon="@drawable/ic_menu_slideshow" |  | ||||||
|             android:title="Slideshow" /> |  | ||||||
|         <item |  | ||||||
|             android:id="@+id/nav_manage" |  | ||||||
|             android:icon="@drawable/ic_menu_manage" |  | ||||||
|             android:title="Tools" /> |  | ||||||
|     </group> |  | ||||||
| 
 |  | ||||||
|     <item android:title="Communicate"> |  | ||||||
|         <menu> |  | ||||||
|             <item |  | ||||||
|                 android:id="@+id/nav_share" |  | ||||||
|                 android:icon="@drawable/ic_menu_share" |  | ||||||
|                 android:title="Share" /> |  | ||||||
|             <item |  | ||||||
|                 android:id="@+id/nav_send" |  | ||||||
|                 android:icon="@drawable/ic_menu_send" |  | ||||||
|                 android:title="Send" /> |  | ||||||
|         </menu> |  | ||||||
|     </item> |  | ||||||
| 
 |  | ||||||
| </menu> |  | ||||||
|  | @ -1,37 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <menu xmlns:android="http://schemas.android.com/apk/res/android"> |  | ||||||
| 
 |  | ||||||
|     <!--<group android:checkableBehavior="single">--> |  | ||||||
|         <!--<item--> |  | ||||||
|             <!--android:id="@+id/nav_camera"--> |  | ||||||
|             <!--android:icon="@drawable/ic_menu_camera"--> |  | ||||||
|             <!--android:title="Import" />--> |  | ||||||
|         <!--<item--> |  | ||||||
|             <!--android:id="@+id/nav_gallery"--> |  | ||||||
|             <!--android:icon="@drawable/ic_menu_gallery"--> |  | ||||||
|             <!--android:title="Gallery" />--> |  | ||||||
|         <!--<item--> |  | ||||||
|             <!--android:id="@+id/nav_slideshow"--> |  | ||||||
|             <!--android:icon="@drawable/ic_menu_slideshow"--> |  | ||||||
|             <!--android:title="Slideshow" />--> |  | ||||||
|         <!--<item--> |  | ||||||
|             <!--android:id="@+id/nav_manage"--> |  | ||||||
|             <!--android:icon="@drawable/ic_menu_manage"--> |  | ||||||
|             <!--android:title="Tools" />--> |  | ||||||
|     <!--</group>--> |  | ||||||
| 
 |  | ||||||
|     <item android:title="@string/app_name"> |  | ||||||
|         <menu> |  | ||||||
|             <item |  | ||||||
|                 android:id="@+id/nav_feedback" |  | ||||||
|                 android:title="意见反馈" /> |  | ||||||
|             <item |  | ||||||
|                 android:id="@+id/nav_checkupdate" |  | ||||||
|                 android:title="检查更新" /> |  | ||||||
|             <item |  | ||||||
|                 android:id="@+id/nav_about" |  | ||||||
|                 android:title="关于" /> |  | ||||||
|         </menu> |  | ||||||
|     </item> |  | ||||||
| 
 |  | ||||||
| </menu> |  | ||||||
|  | @ -1,15 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <menu xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
|     xmlns:app="http://schemas.android.com/apk/res-auto"> |  | ||||||
|     <item |  | ||||||
|         android:id="@+id/search" |  | ||||||
|         android:orderInCategory="100" |  | ||||||
|         android:title="@string/test" |  | ||||||
|         app:actionViewClass="android.support.v7.widget.SearchView" |  | ||||||
|         app:showAsAction="always" /> |  | ||||||
|     <item |  | ||||||
|         android:orderInCategory="100" |  | ||||||
|         android:id="@+id/shelfTool" |  | ||||||
|         android:title="+" |  | ||||||
|         app:showAsAction="always" /> |  | ||||||
| </menu> |  | ||||||
|  | @ -1,10 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <menu xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
|     xmlns:app="http://schemas.android.com/apk/res-auto"> |  | ||||||
|     <item |  | ||||||
|         android:id="@+id/search" |  | ||||||
|         android:orderInCategory="100" |  | ||||||
|         android:title="@string/test" |  | ||||||
|         app:actionViewClass="android.support.v7.widget.SearchView" |  | ||||||
|         app:showAsAction="always" /> |  | ||||||
| </menu> |  | ||||||
|  | @ -1,10 +0,0 @@ | ||||||
| <menu 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" |  | ||||||
|     tools:context="com.novelbook.android.BookActivity"> |  | ||||||
|     <item |  | ||||||
|         android:id="@+id/menuShelf" |  | ||||||
|         android:orderInCategory="100" |  | ||||||
|         android:title="@string/shelf" |  | ||||||
|         app:showAsAction="always" /> |  | ||||||
| </menu> |  | ||||||
|  | @ -1,14 +0,0 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> |  | ||||||
| <menu xmlns:android="http://schemas.android.com/apk/res/android" |  | ||||||
|     xmlns:app="http://schemas.android.com/apk/res-auto"> |  | ||||||
|     <item |  | ||||||
|         android:id="@+id/mnSave" |  | ||||||
|         android:orderInCategory="100" |  | ||||||
|         android:title="@string/save" |  | ||||||
|         app:showAsAction="always" /> |  | ||||||
|     <item |  | ||||||
|         android:orderInCategory="100" |  | ||||||
|         android:id="@+id/mnPublish" |  | ||||||
|         android:title="@string/fabu" |  | ||||||
|         app:showAsAction="always" /> |  | ||||||
| </menu> |  | ||||||
|  | @ -1,10 +0,0 @@ | ||||||
| <menu 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" |  | ||||||
|     tools:context="com.novelbook.android.Main6Activity"> |  | ||||||
|     <item |  | ||||||
|         android:id="@+id/action_settings" |  | ||||||
|         android:orderInCategory="100" |  | ||||||
|         android:title="@string/action_settings" |  | ||||||
|         app:showAsAction="never" /> |  | ||||||
| </menu> |  | ||||||
|  | @ -1,10 +0,0 @@ | ||||||
| <menu 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" |  | ||||||
|     tools:context="com.novelbook.android.Main7Activity"> |  | ||||||
|     <item |  | ||||||
|         android:id="@+id/action_settings" |  | ||||||
|         android:orderInCategory="100" |  | ||||||
|         android:title="@string/action_settings" |  | ||||||
|         app:showAsAction="never" /> |  | ||||||
| </menu> |  | ||||||
|  | @ -1,10 +0,0 @@ | ||||||
| <menu 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" |  | ||||||
|     tools:context="com.novelbook.android.ScrollingActivity"> |  | ||||||
|     <item |  | ||||||
|         android:id="@+id/action_settings" |  | ||||||
|         android:orderInCategory="100" |  | ||||||
|         android:title="@string/action_settings" |  | ||||||
|         app:showAsAction="never" /> |  | ||||||
| </menu> |  | ||||||
|  | @ -0,0 +1,4 @@ | ||||||
|  | <?xml version="1.0" encoding="utf-8"?> | ||||||
|  | <paths xmlns:android="http://schemas.android.com/apk/res/android"> | ||||||
|  |     <external-path name="external_files" path="."/> | ||||||
|  | </paths> | ||||||
|  | @ -88,6 +88,7 @@ | ||||||
|       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/apk_list" /> |       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/apk_list" /> | ||||||
|       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" /> |       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" /> | ||||||
|       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/build-info" /> |       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/build-info" /> | ||||||
|  |       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/builds" /> | ||||||
|       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundle_manifest" /> |       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundle_manifest" /> | ||||||
|       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/check_manifest_result" /> |       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/check_manifest_result" /> | ||||||
|       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/compatible_screen_manifest" /> |       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/compatible_screen_manifest" /> | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue