Android Open Source - MrParkingNavigator Main Receiver






From Project

Back to project page MrParkingNavigator.

License

The source code is released under:

MIT License

If you think the Android project MrParkingNavigator 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

package ru.mail.parking.widget;
/*from  w  w  w . ja v  a  2 s . c  o m*/
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

import ru.mail.parking.Preferences;
import ru.mail.parking.ui.DataDetailsActivity;
import ru.mail.parking.ui.EnterPlaceActivity;
import ru.mail.parking.ui.NavigatorActivity;
import ru.mail.parking.ui.SettingsActivity;
import ru.mail.parking.utils.Utils;

import static ru.mail.parking.App.app;
import static ru.mail.parking.App.prefs;

public class MainReceiver extends BroadcastReceiver {
  public static final String ACTION_TAP = "ru.mail.parking.widget.TAP";
  public static final String ACTION_UPDATE = "ru.mail.parking.widget.SMART_UPDATE";

  private static final long TAP_DELAY = 300;

  private static long sLastTap;

  private static final Runnable sTapRunner = new Runnable() {
    @Override
    public void run() {
      executeClickAction(prefs().getClickAction());
    }
  };


  private static void executeClickAction(Preferences.ClickAction action) {
    switch (action) {
      case navigator:
        app().startActivity(new Intent(app(), EnterPlaceActivity.class)
                               .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
        break;

      case update:
        SmartUpdate.force();
        break;

      case details:
        app().startActivity(new Intent(app(), DataDetailsActivity.class)
                               .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
        break;

      case settings:
        app().startActivity(new Intent(app(), SettingsActivity.class)
                               .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
        break;
    }
  }

  public void onReceive(Context context, Intent intent) {
    if (ACTION_TAP.equals(intent.getAction())) {
      if (prefs().getStoredPlace() != null) {
        app().startActivity(new Intent(app(), NavigatorActivity.class)
                               .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
        return;
      }

      long now = System.currentTimeMillis();
      long diff = now - sLastTap;

      if (diff > 0 && diff < TAP_DELAY) {
        Utils.cancelUiTask(sTapRunner);
        executeClickAction(prefs().getDoubletapAction());
        return;
      }

      sLastTap = now;
      Utils.runUiLater(sTapRunner, TAP_DELAY);
    } else


    if (Intent.ACTION_TIME_CHANGED.equals(intent.getAction()) ||
        Intent.ACTION_TIMEZONE_CHANGED.equals(intent.getAction())) {
      SmartUpdate.onTimeChanged();
    } else


    if (ACTION_UPDATE.equals(intent.getAction())) {
      SmartUpdate.onAlarm();
    }
  }
}




Java Source Code List

com.sonyericsson.extras.liveware.aef.control.Control.java
com.sonyericsson.extras.liveware.aef.control.package-info.java
com.sonyericsson.extras.liveware.aef.notification.Notification.java
com.sonyericsson.extras.liveware.aef.notification.package-info.java
com.sonyericsson.extras.liveware.aef.registration.Registration.java
com.sonyericsson.extras.liveware.aef.registration.package-info.java
com.sonyericsson.extras.liveware.aef.sensor.Sensor.java
com.sonyericsson.extras.liveware.aef.sensor.package-info.java
com.sonyericsson.extras.liveware.extension.util.Dbg.java
com.sonyericsson.extras.liveware.extension.util.ExtensionService.java
com.sonyericsson.extras.liveware.extension.util.ExtensionUtils.java
com.sonyericsson.extras.liveware.extension.util.control.ControlExtension.java
com.sonyericsson.extras.liveware.extension.util.control.ControlListItem.java
com.sonyericsson.extras.liveware.extension.util.control.ControlObjectClickEvent.java
com.sonyericsson.extras.liveware.extension.util.control.ControlTouchEvent.java
com.sonyericsson.extras.liveware.extension.util.control.ControlViewGroup.java
com.sonyericsson.extras.liveware.extension.util.control.ControlView.java
com.sonyericsson.extras.liveware.extension.util.notification.DelayedContentObserver.java
com.sonyericsson.extras.liveware.extension.util.notification.NotificationUtil.java
com.sonyericsson.extras.liveware.extension.util.registration.DeviceInfoHelper.java
com.sonyericsson.extras.liveware.extension.util.registration.DeviceInfo.java
com.sonyericsson.extras.liveware.extension.util.registration.DisplayInfo.java
com.sonyericsson.extras.liveware.extension.util.registration.HostApplicationInfo.java
com.sonyericsson.extras.liveware.extension.util.registration.IRegisterCallback.java
com.sonyericsson.extras.liveware.extension.util.registration.InputInfo.java
com.sonyericsson.extras.liveware.extension.util.registration.KeyPadInfo.java
com.sonyericsson.extras.liveware.extension.util.registration.RegisterExtensionTask.java
com.sonyericsson.extras.liveware.extension.util.registration.RegistrationAdapter.java
com.sonyericsson.extras.liveware.extension.util.registration.RegistrationInformation.java
com.sonyericsson.extras.liveware.extension.util.sensor.AccessorySensorEventListener.java
com.sonyericsson.extras.liveware.extension.util.sensor.AccessorySensorEvent.java
com.sonyericsson.extras.liveware.extension.util.sensor.AccessorySensorException.java
com.sonyericsson.extras.liveware.extension.util.sensor.AccessorySensorManager.java
com.sonyericsson.extras.liveware.extension.util.sensor.AccessorySensorType.java
com.sonyericsson.extras.liveware.extension.util.sensor.AccessorySensor.java
ru.mail.parking.App.java
ru.mail.parking.Preferences.java
ru.mail.parking.floors.FloorNavigator.java
ru.mail.parking.floors.Floor.java
ru.mail.parking.floors.Place.java
ru.mail.parking.sw2.SwControlFlow.java
ru.mail.parking.sw2.screens.SwBaseScreen.java
ru.mail.parking.sw2.screens.SwEnterPlaceScreen.java
ru.mail.parking.sw2.screens.SwFreePlacesScreen.java
ru.mail.parking.sw2.screens.SwNavigatorScreen.java
ru.mail.parking.sw2.screens.SwPlaceScreen.java
ru.mail.parking.sw2.system.SwReceiver.java
ru.mail.parking.sw2.system.SwRegInfo.java
ru.mail.parking.sw2.system.SwService.java
ru.mail.parking.ui.AboutActivity.java
ru.mail.parking.ui.DataDetailsActivity.java
ru.mail.parking.ui.EnterPlaceActivity.java
ru.mail.parking.ui.MultiscrollView.java
ru.mail.parking.ui.NavigatorActivity.java
ru.mail.parking.ui.NavigatorFloorView.java
ru.mail.parking.ui.SettingsActivity.java
ru.mail.parking.utils.NetworkAwaiter.java
ru.mail.parking.utils.NetworkStateReceiver.java
ru.mail.parking.utils.Utils.java
ru.mail.parking.widget.MainReceiver.java
ru.mail.parking.widget.MainWidgetProvider.java
ru.mail.parking.widget.SmartUpdate.java
ru.mail.parking.widget.UpdateService.java