Android Open Source - openmidaas-android-app Splash Activity






From Project

Back to project page openmidaas-android-app.

License

The source code is released under:

Apache License

If you think the Android project openmidaas-android-app listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*******************************************************************************
 * Copyright 2013 SecureKey Technologies Inc.
 * /*from   w w w.jav  a 2  s. co  m*/
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *   
 * http://www.apache.org/licenses/LICENSE-2.0
 *  
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/
package org.openmidaas.app.activities;

/**
 * This activity handles device registration
 */

import java.net.URISyntaxException;

import org.openmidaas.app.R;
import org.openmidaas.app.Settings;
import org.openmidaas.app.common.Constants;
import org.openmidaas.app.common.DialogUtils;
import org.openmidaas.app.common.Logger;
import org.openmidaas.app.common.Utils;
import org.openmidaas.library.MIDaaS;
import org.openmidaas.library.model.core.InitializationCallback;
import org.openmidaas.library.model.core.MIDaaSException;

import android.app.ActionBar;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;

public class SplashActivity extends AbstractActivity {
  
  private TextView tvRegistrationStatus;
  private ProgressBar pb;
  Intent intent;
  private TextView tvVersionNumber;
  Boolean startedByPush;
  String url;
  
  @Override
  public void onCreate(Bundle savedState) {
    super.onCreate(savedState);
    Logger.info(this.getClass(), "activity created");
    ActionBar actionBar = getActionBar();
    actionBar.setDisplayHomeAsUpEnabled(false);
    tvRegistrationStatus = (TextView)findViewById(R.id.tvRegistering);
    startedByPush = false;
    url="";
    // register the app or check to see if already registered.
    MIDaaS.setLoggingLevel(Settings.LIBRARY_LOG_LEVEL);
    
    // Make sure the progress bar is visible
        pb = (ProgressBar)findViewById(R.id.progressBar);
        pb.setVisibility(View.VISIBLE);
        
        //Set the version number
    String versionNumber = Utils.getVersionNumber(getApplicationContext());
    tvVersionNumber = (TextView)findViewById(R.id.tvVersion);
    tvVersionNumber.setText("Version: "+versionNumber);
    
    //See if intent is coming from a service with message to process the URL
      handleIntent(getIntent());
      
      try {
      MIDaaS.initialize(this, Settings.SERVER_URL,new InitializationCallbackImpl());
    } catch (URISyntaxException e) {
      DialogUtils.showNeutralButtonDialog(this, "Error", "Server URL appears to be invalid.");
    }
  }

  private void handleIntent(Intent intent)
  {
      Bundle extras = intent.getExtras();
      if (extras != null)
      {
        if(intent.getAction().equals(Constants.IntentActionMessages.PROCESS_URL)){
          //Flag would be used pass extra parameters to process the URL in MainActivity
              startedByPush = true;
              url = extras.getString("url");
        }
      }
  }
  private void registrationComplete() {
    this.runOnUiThread(new Runnable() {

      @Override
      public void run() {
        tvRegistrationStatus.setText("");
        pb.setVisibility(View.GONE);
        Intent intent = new Intent(SplashActivity.this, MainTabActivity.class);
        if (startedByPush){
          //To detect if MainActivity would need to process the extra parameters
            intent.setAction(Constants.IntentActionMessages.PROCESS_URL);
            //Takes care of the scenario if activity is background. 
            //Instead of starting another on top of it, it starts a new one. 
            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            intent.addCategory(Intent.CATEGORY_DEFAULT);
            intent.putExtra("url", url);
            startActivity(intent);
        }else{
          startActivity(intent);  
        }
        SplashActivity.this.finish();
      }
    });
    
  }
  
  private void showError() {
    this.runOnUiThread(new Runnable() {

      @Override
      public void run() {
        tvRegistrationStatus.setText(getString(R.string.registration_error_text));
      }
      
    });
  }
  
  private class InitializationCallbackImpl implements InitializationCallback {

    @Override
    public void onError(MIDaaSException arg0) {
      showError();
    }

    @Override
    public void onSuccess() {
      registrationComplete();
    }

    @Override
    public void onRegistering() {
      SplashActivity.this.runOnUiThread(new Runnable() {

        @Override
        public void run() {
          tvRegistrationStatus.setText("Registering...");
        }
      });
    }
  }
  
  @Override
  public int getLayoutResourceId() {
    return (R.layout.welcome_splash_screen);
  }

  @Override
  protected String getTitlebarText() {
    return ("");
  }
}




Java Source Code List

org.openmidaas.app.App.java
org.openmidaas.app.Settings.java
org.openmidaas.app.activities.AboutUsActivity.java
org.openmidaas.app.activities.AbstractActivity.java
org.openmidaas.app.activities.AbstractAttributeRegistrationActivity.java
org.openmidaas.app.activities.AddressActivity.java
org.openmidaas.app.activities.AttributeListFragment.java
org.openmidaas.app.activities.AuthorizationActivity.java
org.openmidaas.app.activities.CreditCardActivity.java
org.openmidaas.app.activities.EmailRegistrationActivity.java
org.openmidaas.app.activities.EnterURLDialogFragment.java
org.openmidaas.app.activities.MainTabActivity.java
org.openmidaas.app.activities.ManageConsentActivity.java
org.openmidaas.app.activities.PhoneRegistrationActivity.java
org.openmidaas.app.activities.ProfileFragment.java
org.openmidaas.app.activities.PushNotificationActivity.java
org.openmidaas.app.activities.ScanFragment.java
org.openmidaas.app.activities.SplashActivity.java
org.openmidaas.app.activities.ui.ConsentedDetailsDialogListAdapter.java
org.openmidaas.app.activities.ui.ConsentedDetailsDialog.java
org.openmidaas.app.activities.ui.list.AbstractAttributeListElement.java
org.openmidaas.app.activities.ui.list.AbstractListCategory.java
org.openmidaas.app.activities.ui.list.AddressCategory.java
org.openmidaas.app.activities.ui.list.AddressListElement.java
org.openmidaas.app.activities.ui.list.AttributeExpandableListAdapter.java
org.openmidaas.app.activities.ui.list.AuthorizationListAdapter.java
org.openmidaas.app.activities.ui.list.BirthdayListElement.java
org.openmidaas.app.activities.ui.list.ConsentListAdapter.java
org.openmidaas.app.activities.ui.list.CreditCardCategory.java
org.openmidaas.app.activities.ui.list.CreditCardListElement.java
org.openmidaas.app.activities.ui.list.EmailAttributeListElement.java
org.openmidaas.app.activities.ui.list.EmailCategory.java
org.openmidaas.app.activities.ui.list.GenderListElement.java
org.openmidaas.app.activities.ui.list.GeneralCategory.java
org.openmidaas.app.activities.ui.list.GenericAttributeListElement.java
org.openmidaas.app.activities.ui.list.OnListElementLongTouch.java
org.openmidaas.app.activities.ui.list.OnListElementTouch.java
org.openmidaas.app.activities.ui.list.PersonalListCategory.java
org.openmidaas.app.activities.ui.list.PhoneAttributeListElement.java
org.openmidaas.app.activities.ui.list.PhoneCategory.java
org.openmidaas.app.activities.ui.spinner.AttributeSpinnerAdapter.java
org.openmidaas.app.common.AttributeRegistrationHelper.java
org.openmidaas.app.common.CategoryManager.java
org.openmidaas.app.common.CategoryMap.java
org.openmidaas.app.common.Constants.java
org.openmidaas.app.common.DialogUtils.java
org.openmidaas.app.common.Intents.java
org.openmidaas.app.common.Logger.java
org.openmidaas.app.common.Utils.java
org.openmidaas.app.services.GCMIntentService.java
org.openmidaas.app.services.GCMReceiver.java
org.openmidaas.app.session.AttributeFetchException.java
org.openmidaas.app.session.AttributeRequestObjectException.java
org.openmidaas.app.session.ConsentManager.java
org.openmidaas.app.session.EssentialAttributeMissingException.java
org.openmidaas.app.session.PostbackReturnStrategy.java
org.openmidaas.app.session.ReturnStrategyFactory.java
org.openmidaas.app.session.ReturnStrategy.java
org.openmidaas.app.session.SessionCreationException.java
org.openmidaas.app.session.SessionManager.java
org.openmidaas.app.session.Session.java
org.openmidaas.app.session.attributeset.AbstractAttributeSet.java
org.openmidaas.app.session.attributeset.AddressAttributeSet.java
org.openmidaas.app.session.attributeset.AttributeSetFactory.java
org.openmidaas.app.session.attributeset.CreditCardAttributeSet.java
org.openmidaas.app.session.attributeset.EmailAttributeSet.java
org.openmidaas.app.session.attributeset.GenericAttributeSet.java
org.openmidaas.app.session.attributeset.PhoneAttributeSet.java