Search in sources :

Example 1 with SasquatchDistributeListener

use of com.microsoft.appcenter.sasquatch.SasquatchDistributeListener in project mobile-center-sdk-android by Microsoft.

the class MainActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    sSharedPreferences = getSharedPreferences("Sasquatch", Context.MODE_PRIVATE);
    StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().build());
    StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectAll().build());
    /* Set custom log URL if one was configured in settings. */
    String logUrl = sSharedPreferences.getString(LOG_URL_KEY, getString(R.string.log_url));
    if (!TextUtils.isEmpty(logUrl)) {
        AppCenter.setLogUrl(logUrl);
    }
    /* Set listeners. */
    AnalyticsPrivateHelper.setListener(getAnalyticsListener());
    Crashes.setListener(getCrashesListener());
    Distribute.setListener(new SasquatchDistributeListener());
    Push.setListener(getPushListener());
    /* Set distribute urls. */
    String installUrl = getString(R.string.install_url);
    if (!TextUtils.isEmpty(installUrl)) {
        Distribute.setInstallUrl(installUrl);
    }
    String apiUrl = getString(R.string.api_url);
    if (!TextUtils.isEmpty(apiUrl)) {
        Distribute.setApiUrl(apiUrl);
    }
    Push.setSenderId(SENDER_ID);
    /* Set crash attachments. */
    sCrashesListener.setTextAttachment(sSharedPreferences.getString(TEXT_ATTACHMENT_KEY, null));
    String fileAttachment = sSharedPreferences.getString(FILE_ATTACHMENT_KEY, null);
    if (fileAttachment != null) {
        sCrashesListener.setFileAttachment(Uri.parse(fileAttachment));
    }
    /* Enable Firebase analytics if we enabled the setting previously. */
    if (sSharedPreferences.getBoolean(FIREBASE_ENABLED_KEY, false)) {
        Push.enableFirebaseAnalytics(this);
    }
    /* Start App Center. */
    AppCenter.start(getApplication(), sSharedPreferences.getString(APP_SECRET_KEY, getString(R.string.app_secret)), Analytics.class, Crashes.class, Distribute.class, Push.class);
    /* Attach NDK Crash Handler (if available) after SDK is initialized. */
    CrashesPrivateHelper.getMinidumpDirectory().thenAccept(new AppCenterConsumer<String>() {

        @Override
        public void accept(String path) {
            /* Path is null when Crashes is disabled. */
            if (path != null) {
                setupNativeCrashesListener(path);
            }
        }
    });
    /* Use some App Center getters. */
    AppCenter.getInstallId().thenAccept(new AppCenterConsumer<UUID>() {

        @Override
        public void accept(UUID uuid) {
            Log.i(LOG_TAG, "InstallId=" + uuid);
        }
    });
    /* Print last crash. */
    Crashes.hasCrashedInLastSession().thenAccept(new AppCenterConsumer<Boolean>() {

        @Override
        public void accept(Boolean crashed) {
            Log.i(LOG_TAG, "Crashes.hasCrashedInLastSession=" + crashed);
        }
    });
    Crashes.getLastSessionCrashReport().thenAccept(new AppCenterConsumer<ErrorReport>() {

        @Override
        public void accept(ErrorReport data) {
            if (data != null) {
                Log.i(LOG_TAG, "Crashes.getLastSessionCrashReport().getThrowable()=", data.getThrowable());
            }
        }
    });
    /* Populate UI. */
    ((TextView) findViewById(R.id.package_name)).setText(String.format(getString(R.string.sdk_source_format), getPackageName().substring(getPackageName().lastIndexOf(".") + 1)));
    TestFeatures.initialize(this);
    ListView listView = findViewById(R.id.list);
    listView.setAdapter(new TestFeaturesListAdapter(TestFeatures.getAvailableControls()));
    listView.setOnItemClickListener(TestFeatures.getOnItemClickListener());
}
Also used : SasquatchDistributeListener(com.microsoft.appcenter.sasquatch.SasquatchDistributeListener) TestFeaturesListAdapter(com.microsoft.appcenter.sasquatch.features.TestFeaturesListAdapter) ErrorReport(com.microsoft.appcenter.crashes.model.ErrorReport) StrictMode(android.os.StrictMode) ListView(android.widget.ListView) TextView(android.widget.TextView) UUID(java.util.UUID)

Aggregations

StrictMode (android.os.StrictMode)1 ListView (android.widget.ListView)1 TextView (android.widget.TextView)1 ErrorReport (com.microsoft.appcenter.crashes.model.ErrorReport)1 SasquatchDistributeListener (com.microsoft.appcenter.sasquatch.SasquatchDistributeListener)1 TestFeaturesListAdapter (com.microsoft.appcenter.sasquatch.features.TestFeaturesListAdapter)1 UUID (java.util.UUID)1