Android Open Source - AndroidShoppingList Shopping List Item






From Project

Back to project page AndroidShoppingList.

License

The source code is released under:

Apache License

If you think the Android project AndroidShoppingList 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 2012 C. A. Fitzgerald//ww w  .j a v a  2s. 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 com.github.riotopsys.shoppinglist.model;

import java.sql.SQLException;
import java.util.UUID;

import android.content.Context;
import android.content.Intent;

import com.github.riotopsys.shoppinglist.server.work.Operations;
import com.github.riotopsys.shoppinglist.server.work.WorkQueue;
import com.j256.ormlite.android.apptools.OpenHelperManager;
import com.j256.ormlite.field.DatabaseField;
import com.j256.ormlite.table.DatabaseTable;

@DatabaseTable(tableName = "ShoppingListItems")
public class ShoppingListItem extends PersistedRecord {

  @DatabaseField()
  private UUID parent;

  @DatabaseField()
  private String name;

  @DatabaseField()
  private int quantity = 1;

  @DatabaseField()
  private boolean resolved = false;

  // req'd for ormlite
  ShoppingListItem() {
  }

  ShoppingListItem(UUID parent) {
    this.parent = parent;
  }

  public ShoppingListItem(Intent intent) {
//    {
//    "guid" : "9586c8c2-8dff-47f0-9a76-4f3e7fcd833e",
//    "name" : "aab",
//    "parent" : "de08c824-9815-422c-8531-bbf6d30a9c18",
//    "quantity" : "1",
//    "timestamp" : 1346985275
//    }
    guid = UUID.fromString(intent.getStringExtra("guid"));
    timestamp = Long.valueOf(intent.getStringExtra("timestamp"));
    parent = UUID.fromString(intent.getStringExtra("parent"));
    name = intent.getStringExtra("name");
    String tmp = intent.getStringExtra("quantity");
    if ( tmp != null){
      quantity = Integer.valueOf(tmp);
    }
    tmp = intent.getStringExtra("resolved");
    if ( tmp != null){
      resolved = Boolean.valueOf(tmp);
    }
  }

  public UUID getParent() {
    return parent;
  }

  public String getName() {
    return name;
  }

  public int getQuantity() {
    return quantity;
  }

  public boolean getResolved() {
    return resolved;
  }

  public void setName(Context ctx, String name) {
    this.name = name;

    Work w = initializeWork();
    w.field = "name";
    w.data = name;
    WorkQueue.getInstance().offer(ctx, w);

    update(ctx);
  }

  public void setQuantity(Context ctx, int quantity) {
    this.quantity = quantity;

    Work w = initializeWork();
    w.field = "quantity";
    w.data = Integer.toString(quantity);
    WorkQueue.getInstance().offer(ctx, w);

    update(ctx);
  }

  public void setResolved(Context ctx, boolean resolved) {
    this.resolved = resolved;

    Work w = initializeWork();
    w.field = "resolved";
    w.data = Boolean.toString(resolved);
    WorkQueue.getInstance().offer(ctx, w);

    update(ctx);
  }

  private Work initializeWork() {
    Work w = new Work();
    w.target = getGuid();
    w.parent = parent;
    w.operation = Operations.FIELD_UPDATE;
    return w;
  }

  @Override
  public void update(Context ctx) {
    DatabaseHelper helper = OpenHelperManager.getHelper(ctx, DatabaseHelper.class);
    try {
      helper.getShoppingListItemDao().update(this);
    } catch (SQLException e) {
      throw new RuntimeException(e);
    } finally {
      OpenHelperManager.releaseHelper();
    }
  }

}




Java Source Code List

com.github.riotopsys.shoppinglist.AppKeys.java
com.github.riotopsys.shoppinglist.GCMIntentService.java
com.github.riotopsys.shoppinglist.IConfigurations.java
com.github.riotopsys.shoppinglist.activity.ListItemEdit.java
com.github.riotopsys.shoppinglist.activity.ShoppingListPreview.java
com.github.riotopsys.shoppinglist.adapter.ShoppingListAdapter.java
com.github.riotopsys.shoppinglist.adapter.ShoppingListCollectionAdapter.java
com.github.riotopsys.shoppinglist.comparator.ListItemNameComparator.java
com.github.riotopsys.shoppinglist.comparator.ListNameComparator.java
com.github.riotopsys.shoppinglist.fragment.ShoppingListFragment.java
com.github.riotopsys.shoppinglist.listener.CheckedChangeListener.java
com.github.riotopsys.shoppinglist.model.DatabaseHelper.java
com.github.riotopsys.shoppinglist.model.DigestRecord.java
com.github.riotopsys.shoppinglist.model.PersistedRecord.java
com.github.riotopsys.shoppinglist.model.ShoppingListCollection.java
com.github.riotopsys.shoppinglist.model.ShoppingListItem.java
com.github.riotopsys.shoppinglist.model.ShoppingList.java
com.github.riotopsys.shoppinglist.model.Work.java
com.github.riotopsys.shoppinglist.server.DigestCollection.java
com.github.riotopsys.shoppinglist.server.RestHelper.java
com.github.riotopsys.shoppinglist.server.RestResult.java
com.github.riotopsys.shoppinglist.server.ServerInterfaceService.java
com.github.riotopsys.shoppinglist.server.ServerTask.java
com.github.riotopsys.shoppinglist.server.UrlBuilder.java
com.github.riotopsys.shoppinglist.server.work.Operations.java
com.github.riotopsys.shoppinglist.server.work.WorkQueue.java
com.github.riotopsys.shoppinglist.utils.AccountUtils.java