diff --git a/.idea/misc.xml b/.idea/misc.xml index e0d5b93..6361836 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,10 @@ + + + + + - + diff --git a/app/build.gradle b/app/build.gradle index 7d40aba..eedb8b0 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -37,6 +37,10 @@ android { defaultConfig { resConfigs "zh" } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') diff --git a/app/src/main/java/com/example/jooff/shuyi/data/AppDbRepository.java b/app/src/main/java/com/example/jooff/shuyi/data/AppDbRepository.java index 719c74b..66ef7c2 100644 --- a/app/src/main/java/com/example/jooff/shuyi/data/AppDbRepository.java +++ b/app/src/main/java/com/example/jooff/shuyi/data/AppDbRepository.java @@ -20,8 +20,10 @@ */ public class AppDbRepository implements AppDbSource.TranslateDbSource, AppDbSource.HistoryDbSource, AppDbSource.CollectDbSource { + private final LocalDbSource mLocalDbSource; - public static AppDbRepository instance = null; + + private static AppDbRepository instance = null; private AppDbRepository(Context context) { mLocalDbSource = LocalDbSource.getInstance(context); @@ -82,8 +84,8 @@ public History getHistory(String original) { } @Override - public ArrayList getHistorys() { - return mLocalDbSource.getHistorys(); + public ArrayList getHistories() { + return mLocalDbSource.getHistories(); } @Override @@ -91,6 +93,11 @@ public void deleteHistory(String original) { mLocalDbSource.deleteHistory(original); } + @Override + public void deleteAllHistory() { + mLocalDbSource.deleteAllHistory(); + } + @Override public Collect getCollect(String original) { return mLocalDbSource.getCollect(original); diff --git a/app/src/main/java/com/example/jooff/shuyi/data/AppDbSource.java b/app/src/main/java/com/example/jooff/shuyi/data/AppDbSource.java index c649e72..791f521 100644 --- a/app/src/main/java/com/example/jooff/shuyi/data/AppDbSource.java +++ b/app/src/main/java/com/example/jooff/shuyi/data/AppDbSource.java @@ -31,10 +31,11 @@ interface HistoryDbSource { History getHistory(String original); - ArrayList getHistorys(); + ArrayList getHistories(); void deleteHistory(String original); + void deleteAllHistory(); } interface CollectDbSource { diff --git a/app/src/main/java/com/example/jooff/shuyi/data/local/LocalDbOpenHelper.java b/app/src/main/java/com/example/jooff/shuyi/data/local/LocalDbOpenHelper.java index a334123..eebfe6d 100644 --- a/app/src/main/java/com/example/jooff/shuyi/data/local/LocalDbOpenHelper.java +++ b/app/src/main/java/com/example/jooff/shuyi/data/local/LocalDbOpenHelper.java @@ -24,7 +24,7 @@ public class LocalDbOpenHelper extends SQLiteOpenHelper { + AppDbSchema.HistoryTable._ID + " integer" + " primary key autoincrement," + AppDbSchema.HistoryTable.ORIGINAL + " text," + AppDbSchema.HistoryTable.RESULT + " text, " - + AppDbSchema.HistoryTable.COLLECTED + " tinyint unsigned default 0" + ")"; + + AppDbSchema.HistoryTable.COLLECTED + "tinyint unsigned default 0" + ")"; private static final String CREATE_COLLECT = "CREATE TABLE " + AppDbSchema.CollectTable.TABLE_NAME + " (" diff --git a/app/src/main/java/com/example/jooff/shuyi/data/local/LocalDbSource.java b/app/src/main/java/com/example/jooff/shuyi/data/local/LocalDbSource.java index 4957ac7..d3d2dd8 100644 --- a/app/src/main/java/com/example/jooff/shuyi/data/local/LocalDbSource.java +++ b/app/src/main/java/com/example/jooff/shuyi/data/local/LocalDbSource.java @@ -6,7 +6,6 @@ import android.database.sqlite.SQLiteDatabase; import com.example.jooff.shuyi.constant.TransSource; -import com.example.jooff.shuyi.data.AppDbSchema; import com.example.jooff.shuyi.data.AppDbSource; import com.example.jooff.shuyi.data.entity.Collect; import com.example.jooff.shuyi.data.entity.History; @@ -14,28 +13,29 @@ import java.util.ArrayList; +import static com.example.jooff.shuyi.data.AppDbSchema.CollectTable; +import static com.example.jooff.shuyi.data.AppDbSchema.HistoryTable; + /** * Created by Jooff on 2016/8/14. * Tomorrow is a nice day */ public class LocalDbSource implements AppDbSource.HistoryDbSource, AppDbSource.CollectDbSource, AppDbSource.TranslateDbSource { - private static LocalDbSource sLocalDbSource = null; + + private volatile static LocalDbSource sLocalDbSource = null; + private SQLiteDatabase db; - /** - * 构造方法私有化,创建单例类 - */ + public static final String DELETE_ALL_HISTORY_SQL = "DELETE FROM " + HistoryTable.TABLE_NAME; + private LocalDbSource(Context context) { LocalDbOpenHelper mHelper = new LocalDbOpenHelper(context); db = mHelper.getWritableDatabase(); } - /** - * 获取单例的实例,使用双重校验锁,保证线程安全与速率 - */ public static LocalDbSource getInstance(Context context) { - if (sLocalDbSource== null) { + if (sLocalDbSource == null) { synchronized (LocalDbSource.class) { if (sLocalDbSource == null) { sLocalDbSource = new LocalDbSource(context); @@ -72,46 +72,46 @@ public void getTrans(int transFrom, String original, AppDbSource.TranslateCallba public void saveHistory(History history) { if (getHistory(history.getOriginal()) == null) { ContentValues values = new ContentValues(); - values.put(AppDbSchema.HistoryTable.ORIGINAL, history.getOriginal()); - values.put(AppDbSchema.HistoryTable.RESULT, history.getResult()); - db.insert(AppDbSchema.HistoryTable.TABLE_NAME, null, values); + values.put(HistoryTable.ORIGINAL, history.getOriginal()); + values.put(HistoryTable.RESULT, history.getResult()); + db.insert(HistoryTable.TABLE_NAME, null, values); } else { ContentValues values = new ContentValues(); - String updateClause = AppDbSchema.HistoryTable.ORIGINAL + " == ? "; + String updateClause = HistoryTable.ORIGINAL + " == ? "; String[] updateArgs = {history.getOriginal()}; - values.put(AppDbSchema.HistoryTable.RESULT, history.getResult()); - db.update(AppDbSchema.HistoryTable.TABLE_NAME, values, updateClause, updateArgs); + values.put(HistoryTable.RESULT, history.getResult()); + db.update(HistoryTable.TABLE_NAME, values, updateClause, updateArgs); } } @Override public void collectHistory(History history) { ContentValues values = new ContentValues(); - values.put(AppDbSchema.CollectTable.ORIGINAL, history.getOriginal()); - values.put(AppDbSchema.CollectTable.RESULT, history.getResult()); - db.insert(AppDbSchema.CollectTable.TABLE_NAME, null, values); + values.put(CollectTable.ORIGINAL, history.getOriginal()); + values.put(CollectTable.RESULT, history.getResult()); + db.insert(CollectTable.TABLE_NAME, null, values); Object[] args = {1, history.getOriginal()}; - db.execSQL("UPDATE " + AppDbSchema.HistoryTable.TABLE_NAME + " SET collected = ? where original = ?", args); + db.execSQL("UPDATE " + HistoryTable.TABLE_NAME + " SET collected = ? where original = ?", args); } @Override public void cancelCollect(String original) { deleteCollect(original); Object[] args = {0, original}; - db.execSQL("UPDATE " + AppDbSchema.HistoryTable.TABLE_NAME + " SET collected = ? where original = ?", args); + db.execSQL("UPDATE " + HistoryTable.TABLE_NAME + " SET collected = ? where original = ?", args); } @Override public History getHistory(String original) { History item = null; - String queryLogic = AppDbSchema.HistoryTable.ORIGINAL + " == ? "; + String queryLogic = HistoryTable.ORIGINAL + " == ? "; String[] queryArgs = {original}; - Cursor cursor = db.query(AppDbSchema.HistoryTable.TABLE_NAME, null, queryLogic, queryArgs, null, null, null); + Cursor cursor = db.query(HistoryTable.TABLE_NAME, null, queryLogic, queryArgs, null, null, null); if (cursor != null && cursor.getCount() > 0) { cursor.moveToFirst(); - String textOriginal = cursor.getString(cursor.getColumnIndex(AppDbSchema.HistoryTable.ORIGINAL)); - String textResult = cursor.getString(cursor.getColumnIndex(AppDbSchema.HistoryTable.RESULT)); - int collected = cursor.getInt(cursor.getColumnIndex(AppDbSchema.HistoryTable.COLLECTED)); + String textOriginal = cursor.getString(cursor.getColumnIndex(HistoryTable.ORIGINAL)); + String textResult = cursor.getString(cursor.getColumnIndex(HistoryTable.RESULT)); + int collected = cursor.getInt(cursor.getColumnIndex(HistoryTable.COLLECTED)); item = new History(textOriginal, textResult, collected); } if (cursor != null) { @@ -121,14 +121,14 @@ public History getHistory(String original) { } @Override - public ArrayList getHistorys() { + public ArrayList getHistories() { ArrayList items = new ArrayList<>(); - Cursor cursor = db.query(AppDbSchema.HistoryTable.TABLE_NAME, null, null, null, null, null, null); + Cursor cursor = db.query(HistoryTable.TABLE_NAME, null, null, null, null, null, null); if (cursor != null) { while (cursor.moveToNext()) { - String hisOrigin = cursor.getString(cursor.getColumnIndex(AppDbSchema.HistoryTable.ORIGINAL)); - String hisResult = cursor.getString(cursor.getColumnIndex(AppDbSchema.HistoryTable.RESULT)); - int collected = cursor.getInt(cursor.getColumnIndex(AppDbSchema.HistoryTable.COLLECTED)); + String hisOrigin = cursor.getString(cursor.getColumnIndex(HistoryTable.ORIGINAL)); + String hisResult = cursor.getString(cursor.getColumnIndex(HistoryTable.RESULT)); + int collected = cursor.getInt(cursor.getColumnIndex(HistoryTable.COLLECTED)); History item = new History(hisOrigin, hisResult, collected); items.add(0, item); } @@ -141,9 +141,14 @@ public ArrayList getHistorys() { @Override public void deleteHistory(String original) { - String deleteClause = AppDbSchema.HistoryTable.ORIGINAL + " == ? "; + String deleteClause = HistoryTable.ORIGINAL + " == ? "; String[] deleteArgs = {original}; - db.delete(AppDbSchema.HistoryTable.TABLE_NAME, deleteClause, deleteArgs); + db.delete(HistoryTable.TABLE_NAME, deleteClause, deleteArgs); + } + + @Override + public void deleteAllHistory() { + db.execSQL(DELETE_ALL_HISTORY_SQL); } //--------------------------------------- Collect Source ------------------------------------------- @@ -151,13 +156,13 @@ public void deleteHistory(String original) { @Override public Collect getCollect(String original) { Collect item = null; - String queryLogic = AppDbSchema.CollectTable.ORIGINAL + " == ? "; + String queryLogic = CollectTable.ORIGINAL + " == ? "; String[] queryArgs = {original}; - Cursor cursor = db.query(AppDbSchema.CollectTable.TABLE_NAME, null, queryLogic, queryArgs, null, null, null); + Cursor cursor = db.query(CollectTable.TABLE_NAME, null, queryLogic, queryArgs, null, null, null); if (cursor != null && cursor.getCount() > 0) { cursor.moveToFirst(); - String textOriginal = cursor.getString(cursor.getColumnIndex(AppDbSchema.CollectTable.ORIGINAL)); - String textResult = cursor.getString(cursor.getColumnIndex(AppDbSchema.CollectTable.RESULT)); + String textOriginal = cursor.getString(cursor.getColumnIndex(CollectTable.ORIGINAL)); + String textResult = cursor.getString(cursor.getColumnIndex(CollectTable.RESULT)); item = new Collect(textOriginal, textResult); } if (cursor != null) { @@ -169,11 +174,11 @@ public Collect getCollect(String original) { @Override public ArrayList getCollects() { ArrayList items = new ArrayList<>(); - Cursor cursor = db.query(AppDbSchema.CollectTable.TABLE_NAME, null, null, null, null, null, null); + Cursor cursor = db.query(CollectTable.TABLE_NAME, null, null, null, null, null, null); if (cursor != null) { while (cursor.moveToNext()) { - String hisOrigin = cursor.getString(cursor.getColumnIndex(AppDbSchema.CollectTable.ORIGINAL)); - String hisResult = cursor.getString(cursor.getColumnIndex(AppDbSchema.CollectTable.RESULT)); + String hisOrigin = cursor.getString(cursor.getColumnIndex(CollectTable.ORIGINAL)); + String hisResult = cursor.getString(cursor.getColumnIndex(CollectTable.RESULT)); Collect item = new Collect(hisOrigin, hisResult); items.add(0, item); } @@ -186,9 +191,9 @@ public ArrayList getCollects() { @Override public void deleteCollect(String original) { - String deleteClause = AppDbSchema.CollectTable.ORIGINAL + " == ? "; + String deleteClause = CollectTable.ORIGINAL + " == ? "; String[] deleteArgs = {original}; - db.delete(AppDbSchema.CollectTable.TABLE_NAME, deleteClause, deleteArgs); + db.delete(CollectTable.TABLE_NAME, deleteClause, deleteArgs); } } diff --git a/app/src/main/java/com/example/jooff/shuyi/data/remote/RemoteJsonSource.java b/app/src/main/java/com/example/jooff/shuyi/data/remote/RemoteJsonSource.java index e5d5580..bbab370 100644 --- a/app/src/main/java/com/example/jooff/shuyi/data/remote/RemoteJsonSource.java +++ b/app/src/main/java/com/example/jooff/shuyi/data/remote/RemoteJsonSource.java @@ -1,7 +1,5 @@ package com.example.jooff.shuyi.data.remote; -import com.android.volley.Response; -import com.android.volley.VolleyError; import com.android.volley.toolbox.JsonObjectRequest; import com.example.jooff.shuyi.common.MyApp; import com.example.jooff.shuyi.constant.TransSource; @@ -9,7 +7,6 @@ import com.example.jooff.shuyi.util.EntityFormat; import org.json.JSONException; -import org.json.JSONObject; /** * Created by Jooff on 2017/2/1. @@ -32,33 +29,25 @@ public static RemoteJsonSource getInstance() { @Override public void getTrans(final int source, final String original, final AppDbSource.TranslateCallback callback) { - JsonObjectRequest request = new JsonObjectRequest(original, new Response.Listener() { - @Override - public void onResponse(JSONObject s) { - try { - switch (source) { - case TransSource.FROM_BAUDU: - EntityFormat.getBeanFromBaidu(s, callback); - break; - case TransSource.FROM_YIYUN: - EntityFormat.getBeanFromYiyun(s, callback); - break; - case TransSource.FROM_SHANBEI: - EntityFormat.getBeanFromShanBei(s, callback); - break; - case TransSource.FROM_YOUDAO: - EntityFormat.getBeanFromYoudao(s, callback); - } - } catch (JSONException e) { - e.printStackTrace(); + JsonObjectRequest request = new JsonObjectRequest(original, s -> { + try { + switch (source) { + case TransSource.FROM_BAUDU: + EntityFormat.getBeanFromBaidu(s, callback); + break; + case TransSource.FROM_YIYUN: + EntityFormat.getBeanFromYiyun(s, callback); + break; + case TransSource.FROM_SHANBEI: + EntityFormat.getBeanFromShanBei(s, callback); + break; + case TransSource.FROM_YOUDAO: + EntityFormat.getBeanFromYoudao(s, callback); } + } catch (JSONException e) { + e.printStackTrace(); } - }, new Response.ErrorListener() { - @Override - public void onErrorResponse(VolleyError volleyError) { - callback.onError(1); - } - }); + }, volleyError -> callback.onError(1)); MyApp.sRequestQueue.add(request); } diff --git a/app/src/main/java/com/example/jooff/shuyi/history/HistoryPresenter.java b/app/src/main/java/com/example/jooff/shuyi/history/HistoryPresenter.java index dd983a6..46e2e4e 100644 --- a/app/src/main/java/com/example/jooff/shuyi/history/HistoryPresenter.java +++ b/app/src/main/java/com/example/jooff/shuyi/history/HistoryPresenter.java @@ -23,7 +23,7 @@ public HistoryPresenter(AppDbSource.HistoryDbSource historyDbSource, HistoryCont @Override public void loadData() { - ArrayList historys = mHistoryDbSource.getHistorys(); + ArrayList historys = mHistoryDbSource.getHistories(); if (!historys.isEmpty()) { mHistoryView.showHistory(historys); } @@ -34,19 +34,19 @@ public void initTheme() {} @Override public void collectHistory(int position) { - mHistoryDbSource.collectHistory(mHistoryDbSource.getHistorys().get(position)); + mHistoryDbSource.collectHistory(mHistoryDbSource.getHistories().get(position)); } @Override public void unCollectHistory(int position) { - String original = mHistoryDbSource.getHistorys().get(position).getOriginal(); + String original = mHistoryDbSource.getHistories().get(position).getOriginal(); Log.d("取消收藏项", "unCollectHistory: " + original); mHistoryDbSource.cancelCollect(original); } @Override public void deleteHistoryItem(int position) { - String original = mHistoryDbSource.getHistorys().get(position).getOriginal(); + String original = mHistoryDbSource.getHistories().get(position).getOriginal(); Log.d("删除项", "deleteHistory: " + original); mHistoryDbSource.deleteHistory(original); mHistoryView.showHistoryDeleted(); @@ -54,7 +54,7 @@ public void deleteHistoryItem(int position) { @Override public void beginTranslate(int position) { - History item = mHistoryDbSource.getHistorys().get(position); + History item = mHistoryDbSource.getHistories().get(position); String original = item.getOriginal(); mHistoryView.showTranslate(original); } diff --git a/app/src/main/java/com/example/jooff/shuyi/main/MainActivity.java b/app/src/main/java/com/example/jooff/shuyi/main/MainActivity.java index cdcdc29..bb51634 100644 --- a/app/src/main/java/com/example/jooff/shuyi/main/MainActivity.java +++ b/app/src/main/java/com/example/jooff/shuyi/main/MainActivity.java @@ -11,6 +11,7 @@ import android.support.design.widget.CoordinatorLayout; import android.support.v4.app.DialogFragment; import android.support.v4.app.FragmentManager; +import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatDelegate; import android.support.v7.widget.Toolbar; @@ -36,6 +37,7 @@ import com.example.jooff.shuyi.common.MyApp; import com.example.jooff.shuyi.constant.AppPref; import com.example.jooff.shuyi.constant.ThemeColor; +import com.example.jooff.shuyi.data.AppDbRepository; import com.example.jooff.shuyi.fragment.AboutFragment; import com.example.jooff.shuyi.fragment.SourceFragment; import com.example.jooff.shuyi.history.HistoryFragment; @@ -88,7 +90,8 @@ public class MainActivity extends AppCompatActivity implements MainContract.View @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mPresenter = new MainPresenter(getSharedPreferences(AppPref.ARG_NAME, MODE_PRIVATE), this); + mPresenter = new MainPresenter(getSharedPreferences(AppPref.ARG_NAME, MODE_PRIVATE), + this, AppDbRepository.getInstance(this)); mPresenter.initTheme(); setContentView(R.layout.activity_main); ButterKnife.bind(this); @@ -151,6 +154,21 @@ public void onSend(ImageView send) { mPresenter.beginTrans(mEditText.getText().toString()); } + @OnClick(R.id.delete_all_history) + public void onDeleteAllHistory(ImageView deleteAll) { + deleteAll.startAnimation(AnimationUtil.getScale(this)); + AlertDialog alertDialog = new AlertDialog.Builder(this) + .setMessage("是否确定删除所有的历史记录?") + .setPositiveButton("确定", (dialog, which) -> { + mPresenter.removeAllHistory(); + showHistory(); + dialog.dismiss(); + }) + .setNegativeButton("取消", (dialog, which) -> dialog.dismiss()) + .create(); + alertDialog.show(); + } + @OnClick(R.id.original_delete) public void onDelete(ImageView delete) { mProgressBar.setVisibility(View.GONE); diff --git a/app/src/main/java/com/example/jooff/shuyi/main/MainContract.java b/app/src/main/java/com/example/jooff/shuyi/main/MainContract.java index 52e68f1..e6e0da2 100644 --- a/app/src/main/java/com/example/jooff/shuyi/main/MainContract.java +++ b/app/src/main/java/com/example/jooff/shuyi/main/MainContract.java @@ -68,6 +68,7 @@ interface Presenter extends BasePresenter{ void handleClick(); + void removeAllHistory(); } } diff --git a/app/src/main/java/com/example/jooff/shuyi/main/MainPresenter.java b/app/src/main/java/com/example/jooff/shuyi/main/MainPresenter.java index 03c2e02..bbef3cb 100644 --- a/app/src/main/java/com/example/jooff/shuyi/main/MainPresenter.java +++ b/app/src/main/java/com/example/jooff/shuyi/main/MainPresenter.java @@ -15,6 +15,7 @@ import com.example.jooff.shuyi.constant.AppPref; import com.example.jooff.shuyi.constant.SettingDefault; import com.example.jooff.shuyi.constant.TransMode; +import com.example.jooff.shuyi.data.AppDbRepository; import com.example.jooff.shuyi.util.MD5Format; import com.example.jooff.shuyi.util.UTF8Format; @@ -29,22 +30,40 @@ */ public class MainPresenter implements MainContract.Presenter { + private MainContract.View mView; + private SharedPreferences mPref; + private Boolean isDoubleClick; + private Boolean isCopyTrans; + private Boolean isTransMode; + private Boolean isNightMode; + private Boolean isNoteMode; + private String mResultLan; + private int transFrom; + private int colorPrimary; + private int colorPrimaryDark; + private int themeId; - public MainPresenter(SharedPreferences sharedPreferences, MainContract.View mainView) { + private AppDbRepository mAppDbRepository; + + private static final Pattern LETTER_PATTEN = Pattern.compile("[a-zA-Z]+"); + + public MainPresenter(SharedPreferences sharedPreferences, MainContract.View mainView, + AppDbRepository appDbRepository) { mPref = sharedPreferences; mView = mainView; + mAppDbRepository = appDbRepository; isCopyTrans = mPref.getBoolean(AppPref.ARG_COPY, false); isTransMode = mPref.getBoolean(AppPref.ARG_TRANS, false); isNightMode = mPref.getBoolean(AppPref.ARG_NIGHT, false); @@ -158,9 +177,7 @@ public void beginTrans(String original) { break; case R.id.source_yiyun: String originalLan, resultLan; - // 设置源语言与目标语言 - Pattern p = Pattern.compile("[a-zA-Z]+"); - Matcher m = p.matcher(original); + Matcher m = LETTER_PATTEN.matcher(original); if (m.matches()) { originalLan = "en"; resultLan = "zh"; @@ -221,4 +238,9 @@ public void run() { } else mView.doFinish(); } + @Override + public void removeAllHistory() { + mAppDbRepository.deleteAllHistory(); + } + } diff --git a/app/src/main/java/com/example/jooff/shuyi/translate/main/MainTransPresenter.java b/app/src/main/java/com/example/jooff/shuyi/translate/main/MainTransPresenter.java index d8a353c..ffb024e 100644 --- a/app/src/main/java/com/example/jooff/shuyi/translate/main/MainTransPresenter.java +++ b/app/src/main/java/com/example/jooff/shuyi/translate/main/MainTransPresenter.java @@ -31,9 +31,8 @@ public class MainTransPresenter implements MainTransContract.Presenter { private AppDbRepository mAppDbRepository; private MainTransContract.View mView; - public MainTransPresenter(Bundle bundle - , AppDbRepository transSource - , MainTransContract.View view) { + public MainTransPresenter(Bundle bundle, AppDbRepository transSource, + MainTransContract.View view) { transFrom = bundle.getInt(AppPref.ARG_FROM); mOriginal = bundle.getString(AppPref.ARG_ORIGINAL); mAppDbRepository = transSource; diff --git a/app/src/main/java/com/example/jooff/shuyi/translate/main/MainTransView.java b/app/src/main/java/com/example/jooff/shuyi/translate/main/MainTransView.java index 338f812..08d0a57 100644 --- a/app/src/main/java/com/example/jooff/shuyi/translate/main/MainTransView.java +++ b/app/src/main/java/com/example/jooff/shuyi/translate/main/MainTransView.java @@ -72,7 +72,7 @@ public static MainTransView newInstance(int transSource, String original) { } @Override - public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_translate, container, false); ButterKnife.bind(this, view); mContext = getActivity(); diff --git a/app/src/main/res/drawable-xxxhdpi/ic_delete_all_history_black_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_delete_all_history_black_24dp.png new file mode 100644 index 0000000..00b6a81 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_delete_all_history_black_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_delete_all_history_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_delete_all_history_white_24dp.png new file mode 100644 index 0000000..b8b4dd8 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_delete_all_history_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/m_speech_black.xml b/app/src/main/res/drawable-xxxhdpi/m_speech_black.xml index 66c7a5a..522c3ab 100644 --- a/app/src/main/res/drawable-xxxhdpi/m_speech_black.xml +++ b/app/src/main/res/drawable-xxxhdpi/m_speech_black.xml @@ -1,19 +1,19 @@ + android:oneshot="true"> + android:duration="200" /> + android:duration="200" /> + android:duration="200" /> + android:duration="200" /> + android:duration="200" /> diff --git a/app/src/main/res/drawable/m_divider_bg.xml b/app/src/main/res/drawable/m_divider_bg.xml index b0e382c..3ad475e 100644 --- a/app/src/main/res/drawable/m_divider_bg.xml +++ b/app/src/main/res/drawable/m_divider_bg.xml @@ -1,9 +1,7 @@ - - + + \ No newline at end of file diff --git a/app/src/main/res/drawable/m_speech_black.xml b/app/src/main/res/drawable/m_speech_black.xml index 7294438..522c3ab 100644 --- a/app/src/main/res/drawable/m_speech_black.xml +++ b/app/src/main/res/drawable/m_speech_black.xml @@ -1,9 +1,19 @@ - - - - - + + + + + diff --git a/app/src/main/res/drawable/shape_color_blue.xml b/app/src/main/res/drawable/shape_color_blue.xml index 16b5e20..c5822c6 100644 --- a/app/src/main/res/drawable/shape_color_blue.xml +++ b/app/src/main/res/drawable/shape_color_blue.xml @@ -2,7 +2,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_color_blue_grey.xml b/app/src/main/res/drawable/shape_color_blue_grey.xml index e42a011..7d3d6f2 100644 --- a/app/src/main/res/drawable/shape_color_blue_grey.xml +++ b/app/src/main/res/drawable/shape_color_blue_grey.xml @@ -2,7 +2,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_color_brown.xml b/app/src/main/res/drawable/shape_color_brown.xml index 7c7e19b..9683296 100644 --- a/app/src/main/res/drawable/shape_color_brown.xml +++ b/app/src/main/res/drawable/shape_color_brown.xml @@ -2,7 +2,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_color_girl.xml b/app/src/main/res/drawable/shape_color_girl.xml index a6b9682..084b699 100644 --- a/app/src/main/res/drawable/shape_color_girl.xml +++ b/app/src/main/res/drawable/shape_color_girl.xml @@ -2,6 +2,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_color_green.xml b/app/src/main/res/drawable/shape_color_green.xml index 3725a51..0ef94fa 100644 --- a/app/src/main/res/drawable/shape_color_green.xml +++ b/app/src/main/res/drawable/shape_color_green.xml @@ -2,7 +2,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_color_pink.xml b/app/src/main/res/drawable/shape_color_pink.xml index 9e973d8..1813105 100644 --- a/app/src/main/res/drawable/shape_color_pink.xml +++ b/app/src/main/res/drawable/shape_color_pink.xml @@ -2,7 +2,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_color_purple.xml b/app/src/main/res/drawable/shape_color_purple.xml index 5562a15..e44110b 100644 --- a/app/src/main/res/drawable/shape_color_purple.xml +++ b/app/src/main/res/drawable/shape_color_purple.xml @@ -2,7 +2,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_color_red.xml b/app/src/main/res/drawable/shape_color_red.xml index 13f3fcb..b049fc8 100644 --- a/app/src/main/res/drawable/shape_color_red.xml +++ b/app/src/main/res/drawable/shape_color_red.xml @@ -2,7 +2,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_color_teal.xml b/app/src/main/res/drawable/shape_color_teal.xml index c4c55b4..9db5716 100644 --- a/app/src/main/res/drawable/shape_color_teal.xml +++ b/app/src/main/res/drawable/shape_color_teal.xml @@ -2,7 +2,6 @@ - + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml index c60852a..aae0ea1 100644 --- a/app/src/main/res/layout/activity_main.xml +++ b/app/src/main/res/layout/activity_main.xml @@ -75,13 +75,14 @@ android:src="@drawable/ic_delete_white_24dp"/> + android:src="@drawable/ic_delete_all_history_white_24dp"/>