endian11
2019-09-09 8ee04ba82a1455ac08bb2e6a729bdc7ebbe6c4da
app/src/main/java/safeluck/drive/evaluation/MainActivity.java
@@ -1,23 +1,31 @@
package safeluck.drive.evaluation;
import android.Manifest;
import android.app.AlertDialog;
import android.arch.lifecycle.Observer;
import android.arch.lifecycle.ViewModelProvider;
import android.arch.lifecycle.ViewModelProviders;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Log;
import android.widget.Toast;
import me.yokeyword.fragmentation.SupportActivity;
import safeluck.drive.evaluation.fragment.HomeFragment;
import safeluck.drive.evaluation.util.MyLog;
import safeluck.drive.evaluation.util.PermissionManager;
import safeluck.drive.evaluation.viewmodels.MainViewModel;
public class MainActivity extends SupportActivity {
    private static final int PERMISSIONS_REQUEST_CODE = 1001;
    private String TAG = MainActivity.class.getCanonicalName();
    private PermissionManager mPermissionsManager ;
    String[] PERMISSIONS = new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
@@ -26,13 +34,43 @@
        setContentView(R.layout.activity_main);
        mPermissionsManager = new PermissionManager(this) {
            @Override
            public void authorized(int requestCode) {
            }
            @Override
            public void noAuthorization(int requestCode, String[] lackPermissions) {
                AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
                builder.setTitle("提示");
                builder.setMessage("缺少"+lackPermissions+"权限");
                builder.setPositiveButton("设置权限", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        PermissionManager.startAppSettings(getApplicationContext());
                    }
                });
                builder.create().show();
            }
            @Override
            public void ignore() {
            }
        };
        MainViewModel mainViewModel = ViewModelProviders.of(this).get(MainViewModel.class);
        mainViewModel.getJson().observe(this, new Observer<String>() {
            @Override
            public void onChanged(@Nullable String json) {
                Toast.makeText(MainActivity.this, json, Toast.LENGTH_SHORT).show();
                Log.i(TAG,"json=========="+json);
                Log.i(TAG,"json=========="+Thread.currentThread().getName());
                MyLog.i(TAG,"json=========="+json);
                MyLog.i(TAG,"json=========="+Thread.currentThread().getName());
            }
        });
@@ -42,4 +80,17 @@
            loadRootFragment(R.id.fl_container,HomeFragment.newInstance());
        }
    }
    @Override
    protected void onResume() {
        super.onResume();
        mPermissionsManager.checkPermissions(PERMISSIONS_REQUEST_CODE,PERMISSIONS);
    }
    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        mPermissionsManager.recheckPermissions(PERMISSIONS_REQUEST_CODE,permissions,grantResults);
    }
}