Android Open Source - MrParkingNavigator Enter Place Activity






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.ui;
//w  w w  .jav  a  2  s.  c  o  m
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TableRow;
import android.widget.TextView;

import ru.mail.parking.App;
import ru.mail.parking.R;
import ru.mail.parking.floors.Place;
import ru.mail.parking.utils.Utils;

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

public class EnterPlaceActivity extends Activity {
  public static final String EXTRA_FROM_INPUT = "from input";

  private int mPlace;

  private TextView mPlaceView;
  private TextView mInfoView;
  private TextView mOk;
  private TextView mButton0;


  private final View.OnClickListener mNumClickListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
      if (mPlace > 99)
        mPlace = 0;

      int num = Integer.valueOf((String)v.getTag());
      mPlace = (mPlace * 10) + num;

      update();
    }
  };

  private final View.OnClickListener mSettingsClickListener = new View.OnClickListener() {
    @Override
    public void onClick(View v) {
      startActivity(new Intent(EnterPlaceActivity.this, SettingsActivity.class));
    }
  };


  private void enumChildren(View parent) {
    if (!(parent instanceof ViewGroup))
      return;

    ViewGroup vg = (ViewGroup)parent;

    int count = vg.getChildCount();
    for (int i = 0; i < count; i++) {
      View v = vg.getChildAt(i);
      if (v instanceof ViewGroup) {
        enumChildren(v);
        continue;
      }

      if (v.getTag() instanceof String) {
        String tag = (String)v.getTag();
        if (tag.startsWith("b:")) {
          tag = tag.substring(2);
          v.setTag(tag);
          ((TextView)v).setText(tag);
          v.setOnClickListener(mNumClickListener);

          if (tag.equals("0"))
            mButton0 = (TextView)v;
        }
      }
    }
  }

  public void onCreate(Bundle state) {
    super.onCreate(state);

    if (prefs().getStoredPlace() != null) {
      startActivity(new Intent(this, NavigatorActivity.class));
      finish();
      return;
    }

    Bundle extras = state;
    if (extras == null)
      extras = getIntent().getExtras();

    if (extras != null)
      mPlace = extras.getInt(Utils.EXTRA_PLACE, 0);

    setContentView(R.layout.enter_place);

    mPlaceView = (TextView)findViewById(R.id.place);
    mInfoView = (TextView)findViewById(R.id.info);

    TextView backspace = (TextView)findViewById(R.id.backspace);
    backspace.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        if (mPlace == 0)
          return;

        mPlace /= 10;
        update();
      }
    });

    mOk = (TextView)findViewById(R.id.ok);
    mOk.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        Place p = App.floors().getPlace(mPlace);
        if (p == null)
          return;

        startActivity(new Intent(EnterPlaceActivity.this, NavigatorActivity.class)
                         .putExtra(Utils.EXTRA_PLACE, mPlace)
                         .putExtra(EXTRA_FROM_INPUT, true));
        finish();
      }
    });

    enumChildren(findViewById(R.id.buttons));
    update();
  }

  @Override
  protected void onSaveInstanceState(Bundle state) {
    super.onSaveInstanceState(state);
    state.putInt(Utils.EXTRA_PLACE, mPlace);
  }

  private void update() {
    boolean empty = (mPlace == 0);
    String place = (empty ? "" : String.valueOf(mPlace));
    mPlaceView.setText(place);

    int weight = 1;
    String info = "";
    if (empty) {
      mOk.setVisibility(View.GONE);
      weight = 2;

      mButton0.setText(R.string.floor_settings);
      mButton0.setOnClickListener(mSettingsClickListener);
    } else {
      mOk.setVisibility(View.VISIBLE);

      mButton0.setText("0");
      mButton0.setOnClickListener(mNumClickListener);

      Place p = App.floors().getPlace(mPlace);
      if (p == null)
        info = app().getString(R.string.floor_invalid);
      else
        info = app().getString(R.string.floor_format, p.getFloor(), p.getSide().name());
    }

    TableRow.LayoutParams lp = (TableRow.LayoutParams)mButton0.getLayoutParams();
    lp.weight = weight;
    mButton0.setLayoutParams(lp);
    mInfoView.setText(info);
  }
}




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