Android Open Source - PhotoToDucksboard Widgets List Load






From Project

Back to project page PhotoToDucksboard.

License

The source code is released under:

Copyright (c) 2012 Jan Urbanski Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Softw...

If you think the Android project PhotoToDucksboard 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 com.ducksboard.photo;
//from  w w  w  .  ja  va2 s  . com
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.os.AsyncTask;
import android.util.Log;


public class WidgetsListLoad extends AsyncTask<String, Void, List<WidgetInfo>> {

    private String DEBUG_TAG = "WidgetsLoad";
    private String endpoint = "widgets/";
    private ShareActivity activity;

    public WidgetsListLoad(ShareActivity activity) {
        this.activity = activity;
    }

    @Override
    protected List<WidgetInfo> doInBackground(String... apiKey) {
        DucksboardApi api = new DucksboardApi(apiKey[0]);
        try {
            JSONObject resp = api.apiCall(endpoint);
            JSONArray data = resp.getJSONArray("data");
            return getCustomImages(data);
        } catch (IOException e) {
            Log.d(DEBUG_TAG, "error getting widgets", e);
            return null;
        } catch (JSONException e) {
            Log.d(DEBUG_TAG, "error getting widgets", e);
            return null;
        }
    }

    @Override
    protected void onPostExecute(List<WidgetInfo> result) {
        this.activity.widgetsListLoaded(result);
    }

    private List<WidgetInfo> getCustomImages(JSONArray data)
            throws JSONException {
        List<WidgetInfo> list = new ArrayList<WidgetInfo>();

        for (int i = 0; i < data.length(); i++) {
            JSONObject widget = data.getJSONObject(i);
            if (isCustomImage(widget)) {
                list.add(toWidgetInfo(widget));
            }
        }

        return list;
    }

    private boolean isCustomImage(JSONObject widget) throws JSONException {
        String kind = widget.getJSONObject("widget").getString("kind");
        return kind.startsWith("custom_image");
    }

    private WidgetInfo toWidgetInfo(JSONObject widget) throws JSONException {
        JSONObject slot = widget.getJSONObject("slots").getJSONObject("1");
        String label = slot.getString("label");
        String title = widget.getJSONObject("widget").getString("title");
        String dashboard = widget.getJSONObject("widget")
                .getString("dashboard");

        return new WidgetInfo(label, title, dashboard);
    }
}




Java Source Code List

com.ducksboard.photo.ApiKeyCredentials.java
com.ducksboard.photo.ConfigurationActivity.java
com.ducksboard.photo.Credentials.java
com.ducksboard.photo.DucksboardApi.java
com.ducksboard.photo.ImageResizer.java
com.ducksboard.photo.SaveConfiguration.java
com.ducksboard.photo.SendImage.java
com.ducksboard.photo.SendInfo.java
com.ducksboard.photo.ShareActivity.java
com.ducksboard.photo.UserInfo.java
com.ducksboard.photo.UserPasswordCredentials.java
com.ducksboard.photo.WidgetInfoAdapter.java
com.ducksboard.photo.WidgetInfo.java
com.ducksboard.photo.WidgetsListLoad.java