Skip to content

Commit 7852284

Browse files
committed
优化细节
1 parent 330da03 commit 7852284

File tree

3 files changed

+120
-3
lines changed

3 files changed

+120
-3
lines changed

lib/src/main/java/com/king/frame/mvvmframe/base/BaseActivity.java

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import androidx.annotation.Nullable;
2121
import androidx.annotation.StyleRes;
2222
import androidx.appcompat.app.AppCompatActivity;
23+
import androidx.core.app.ActivityOptionsCompat;
2324
import androidx.databinding.DataBindingUtil;
2425
import androidx.databinding.ViewDataBinding;
2526
import androidx.fragment.app.DialogFragment;
@@ -310,7 +311,7 @@ protected Intent newIntent(Class<?> cls){
310311

311312
protected Intent newIntent(Class<?> cls,int flags){
312313
Intent intent = newIntent(cls);
313-
intent.setFlags(flags);
314+
intent.addFlags(flags);
314315
return intent;
315316
}
316317

@@ -322,6 +323,22 @@ protected void startActivity(Class<?> cls,int flags){
322323
startActivity(newIntent(cls,flags));
323324
}
324325

326+
protected void startActivity(Class<?> cls,@Nullable ActivityOptionsCompat optionsCompat){
327+
startActivity(newIntent(cls),optionsCompat);
328+
}
329+
330+
protected void startActivity(Class<?> cls,int flags,@Nullable ActivityOptionsCompat optionsCompat){
331+
startActivity(newIntent(cls,flags),optionsCompat);
332+
}
333+
334+
protected void startActivity(Intent intent,@Nullable ActivityOptionsCompat optionsCompat){
335+
if(optionsCompat != null){
336+
startActivity(intent,optionsCompat.toBundle());
337+
}else{
338+
startActivity(intent);
339+
}
340+
}
341+
325342
protected void startActivityFinish(Class<?> cls){
326343
startActivity(cls);
327344
finish();
@@ -332,10 +349,32 @@ protected void startActivityFinish(Class<?> cls,int flags){
332349
finish();
333350
}
334351

352+
protected void startActivityFinish(Class<?> cls,@Nullable ActivityOptionsCompat optionsCompat){
353+
startActivity(cls,optionsCompat);
354+
finish();
355+
}
356+
357+
protected void startActivityFinish(Class<?> cls,int flags,@Nullable ActivityOptionsCompat optionsCompat){
358+
startActivity(newIntent(cls,flags),optionsCompat);
359+
}
360+
361+
protected void startActivityFinish(Intent intent,@Nullable ActivityOptionsCompat optionsCompat){
362+
startActivity(intent,optionsCompat);
363+
}
364+
335365
protected void startActivityForResult(Class<?> cls,int requestCode){
336366
startActivityForResult(newIntent(cls),requestCode);
337367
}
338368

369+
protected void startActivityForResult(Class<?> cls,int requestCode,@Nullable ActivityOptionsCompat optionsCompat){
370+
Intent intent = newIntent(cls);
371+
if(optionsCompat != null){
372+
startActivityForResult(intent,requestCode,optionsCompat.toBundle());
373+
}else{
374+
startActivityForResult(intent,requestCode);
375+
}
376+
}
377+
339378
//---------------------------------------
340379

341380
protected View inflate(@LayoutRes int id){

lib/src/main/java/com/king/frame/mvvmframe/base/BaseDialogFragment.java

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import androidx.annotation.LayoutRes;
2828
import androidx.annotation.NonNull;
2929
import androidx.annotation.Nullable;
30+
import androidx.core.app.ActivityOptionsCompat;
3031
import androidx.databinding.DataBindingUtil;
3132
import androidx.databinding.ViewDataBinding;
3233
import androidx.fragment.app.DialogFragment;
@@ -357,7 +358,7 @@ protected Intent newIntent(Class<?> cls){
357358

358359
protected Intent newIntent(Class<?> cls,int flags){
359360
Intent intent = newIntent(cls);
360-
intent.setFlags(flags);
361+
intent.addFlags(flags);
361362
return intent;
362363
}
363364

@@ -369,6 +370,22 @@ protected void startActivity(Class<?> cls,int flags){
369370
startActivity(newIntent(cls,flags));
370371
}
371372

373+
protected void startActivity(Class<?> cls,@Nullable ActivityOptionsCompat optionsCompat){
374+
startActivity(newIntent(cls),optionsCompat);
375+
}
376+
377+
protected void startActivity(Class<?> cls,int flags,@Nullable ActivityOptionsCompat optionsCompat){
378+
startActivity(newIntent(cls,flags),optionsCompat);
379+
}
380+
381+
protected void startActivity(Intent intent,@Nullable ActivityOptionsCompat optionsCompat){
382+
if(optionsCompat != null){
383+
startActivity(intent,optionsCompat.toBundle());
384+
}else{
385+
startActivity(intent);
386+
}
387+
}
388+
372389
protected void startActivityFinish(Class<?> cls){
373390
startActivity(cls);
374391
finish();
@@ -379,10 +396,32 @@ protected void startActivityFinish(Class<?> cls,int flags){
379396
finish();
380397
}
381398

399+
protected void startActivityFinish(Class<?> cls,@Nullable ActivityOptionsCompat optionsCompat){
400+
startActivity(cls,optionsCompat);
401+
finish();
402+
}
403+
404+
protected void startActivityFinish(Class<?> cls,int flags,@Nullable ActivityOptionsCompat optionsCompat){
405+
startActivity(newIntent(cls,flags),optionsCompat);
406+
}
407+
408+
protected void startActivityFinish(Intent intent,@Nullable ActivityOptionsCompat optionsCompat){
409+
startActivity(intent,optionsCompat);
410+
}
411+
382412
protected void startActivityForResult(Class<?> cls,int requestCode){
383413
startActivityForResult(newIntent(cls),requestCode);
384414
}
385415

416+
protected void startActivityForResult(Class<?> cls,int requestCode,@Nullable ActivityOptionsCompat optionsCompat){
417+
Intent intent = newIntent(cls);
418+
if(optionsCompat != null){
419+
startActivityForResult(intent,requestCode,optionsCompat.toBundle());
420+
}else{
421+
startActivityForResult(intent,requestCode);
422+
}
423+
}
424+
386425
//---------------------------------------
387426

388427
protected View inflate(@LayoutRes int id){

lib/src/main/java/com/king/frame/mvvmframe/base/BaseFragment.java

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
import androidx.annotation.NonNull;
2020
import androidx.annotation.Nullable;
2121
import androidx.annotation.StyleRes;
22+
import androidx.core.app.ActivityOptionsCompat;
2223
import androidx.databinding.DataBindingUtil;
2324
import androidx.databinding.ViewDataBinding;
2425
import androidx.fragment.app.DialogFragment;
@@ -344,7 +345,7 @@ protected Intent newIntent(Class<?> cls){
344345

345346
protected Intent newIntent(Class<?> cls,int flags){
346347
Intent intent = newIntent(cls);
347-
intent.setFlags(flags);
348+
intent.addFlags(flags);
348349
return intent;
349350
}
350351

@@ -356,6 +357,22 @@ protected void startActivity(Class<?> cls,int flags){
356357
startActivity(newIntent(cls,flags));
357358
}
358359

360+
protected void startActivity(Class<?> cls,@Nullable ActivityOptionsCompat optionsCompat){
361+
startActivity(newIntent(cls),optionsCompat);
362+
}
363+
364+
protected void startActivity(Class<?> cls,int flags,@Nullable ActivityOptionsCompat optionsCompat){
365+
startActivity(newIntent(cls,flags),optionsCompat);
366+
}
367+
368+
protected void startActivity(Intent intent,@Nullable ActivityOptionsCompat optionsCompat){
369+
if(optionsCompat != null){
370+
startActivity(intent,optionsCompat.toBundle());
371+
}else{
372+
startActivity(intent);
373+
}
374+
}
375+
359376
protected void startActivityFinish(Class<?> cls){
360377
startActivity(cls);
361378
finish();
@@ -366,10 +383,32 @@ protected void startActivityFinish(Class<?> cls,int flags){
366383
finish();
367384
}
368385

386+
protected void startActivityFinish(Class<?> cls,@Nullable ActivityOptionsCompat optionsCompat){
387+
startActivity(cls,optionsCompat);
388+
finish();
389+
}
390+
391+
protected void startActivityFinish(Class<?> cls,int flags,@Nullable ActivityOptionsCompat optionsCompat){
392+
startActivity(newIntent(cls,flags),optionsCompat);
393+
}
394+
395+
protected void startActivityFinish(Intent intent,@Nullable ActivityOptionsCompat optionsCompat){
396+
startActivity(intent,optionsCompat);
397+
}
398+
369399
protected void startActivityForResult(Class<?> cls,int requestCode){
370400
startActivityForResult(newIntent(cls),requestCode);
371401
}
372402

403+
protected void startActivityForResult(Class<?> cls,int requestCode,@Nullable ActivityOptionsCompat optionsCompat){
404+
Intent intent = newIntent(cls);
405+
if(optionsCompat != null){
406+
startActivityForResult(intent,requestCode,optionsCompat.toBundle());
407+
}else{
408+
startActivityForResult(intent,requestCode);
409+
}
410+
}
411+
373412
//---------------------------------------
374413

375414
protected View inflate(@LayoutRes int id){

0 commit comments

Comments
 (0)