// Path: wear/src/main/java/ooo/oxo/apps/earth/dao/Earth.java
// public class Earth {
// 
//     public String file;
// 
//     public Date fetchedAt = new Date();
// 
//     public Earth() {
//     }
// 
//     public Earth(String file) {
//         this.file = file;
//     }
// 
//     @Nullable
//     public static Earth fromCursor(@NonNull Cursor cursor) {
//         if (!cursor.moveToNext()) {
//             return null;
//         }
// 
//         Earth earth = new Earth();
//         earth.file = cursor.getString(cursor.getColumnIndexOrThrow(EarthsContract.Columns.FILE));
//         earth.fetchedAt = new Date(cursor.getLong(cursor.getColumnIndexOrThrow(EarthsContract.Columns.FETCHED_AT)));
// 
//         if (TextUtils.isEmpty(earth.file)) {
//             return null;
//         }
// 
//         return earth;
//     }
// 
//     public ContentValues toContentValues() {
//         ContentValues values = new ContentValues();
//         values.put(EarthsContract.Columns.FILE, file);
//         values.put(EarthsContract.Columns.FETCHED_AT, fetchedAt.getTime());
//         return values;
//     }
// 
// }
// 
// Path: wear/src/main/java/ooo/oxo/apps/earth/provider/EarthsContract.java
// public class EarthsContract {
// 
//     public static final String AUTHORITY = BuildConfig.APPLICATION_ID + ".earths";
// 
//     public static final Uri CONTENT_URI = new Uri.Builder()
//             .scheme(ContentResolver.SCHEME_CONTENT)
//             .authority(AUTHORITY)
//             .path("earths")
//             .build();
// 
//     public static final Uri LATEST_CONTENT_URI = Uri.withAppendedPath(CONTENT_URI, "latest");
// 
//     public static final String CONTENT_TYPE_DIR
//             = "vnd.android.cursor.dir/vnd." + BuildConfig.APPLICATION_ID + ".earths";
// 
//     public static final String CONTENT_TYPE_ITEM
//             = "vnd.android.cursor.item/vnd." + BuildConfig.APPLICATION_ID + ".earths";
// 
//     static final String TABLE = "earths";
// 
//     public static class Columns implements BaseColumns {
//         public static final String FILE = "file";
//         public static final String FETCHED_AT = "fetched_at";
//     }
// 
// }


import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.concurrent.TimeUnit;
import ooo.oxo.apps.earth.dao.Earth;
import ooo.oxo.apps.earth.provider.EarthsContract;
import android.util.Log;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.wearable.DataEvent;
import com.google.android.gms.wearable.DataEventBuffer;
import com.google.android.gms.wearable.DataItemAsset;
import com.google.android.gms.wearable.Node;
import com.google.android.gms.wearable.Wearable;
import com.google.android.gms.wearable.WearableListenerService;
import org.apache.commons.io.FileUtils;
/*
 * Mantou Earth - Live your wallpaper with live earth
 * Copyright (C) 2015  XiNGRZ <xxx@oxo.ooo>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package ooo.oxo.apps.earth;






public class WatchSyncService extends WearableListenerService {

    private static final String TAG = "WatchSyncService";

    @Override
    public void onPeerConnected(Node peer) {
        Log.v(TAG, "phone connected");
    }

    @Override
    public void onPeerDisconnected(Node peer) {
        Log.v(TAG, "phone disconnected");
    }

    @Override
    public void onDataChanged(DataEventBuffer events) {
        Log.v(TAG, "data incoming from phone");

        for (DataEvent event : events) {
            if (event.getType() == DataEvent.TYPE_CHANGED &&
                    event.getDataItem().getUri().getPath().equals("/earth")) {
                handleAsset(event.getDataItem().getAssets().get("earth"));
            }
        }
    }

// Path: wear/src/main/java/ooo/oxo/apps/earth/dao/Earth.java
// public class Earth {
// 
//     public String file;
// 
//     public Date fetchedAt = new Date();
// 
//     public Earth() {
//     }
// 
//     public Earth(String file) {
//         this.file = file;
//     }
// 
//     @Nullable
//     public static Earth fromCursor(@NonNull Cursor cursor) {
//         if (!cursor.moveToNext()) {
//             return null;
//         }
// 
//         Earth earth = new Earth();
//         earth.file = cursor.getString(cursor.getColumnIndexOrThrow(EarthsContract.Columns.FILE));
//         earth.fetchedAt = new Date(cursor.getLong(cursor.getColumnIndexOrThrow(EarthsContract.Columns.FETCHED_AT)));
// 
//         if (TextUtils.isEmpty(earth.file)) {
//             return null;
//         }
// 
//         return earth;
//     }
// 
//     public ContentValues toContentValues() {
//         ContentValues values = new ContentValues();
//         values.put(EarthsContract.Columns.FILE, file);
//         values.put(EarthsContract.Columns.FETCHED_AT, fetchedAt.getTime());
//         return values;
//     }
// 
// }
// 
// Path: wear/src/main/java/ooo/oxo/apps/earth/provider/EarthsContract.java
// public class EarthsContract {
// 
//     public static final String AUTHORITY = BuildConfig.APPLICATION_ID + ".earths";
// 
//     public static final Uri CONTENT_URI = new Uri.Builder()
//             .scheme(ContentResolver.SCHEME_CONTENT)
//             .authority(AUTHORITY)
//             .path("earths")
//             .build();
// 
//     public static final Uri LATEST_CONTENT_URI = Uri.withAppendedPath(CONTENT_URI, "latest");
// 
//     public static final String CONTENT_TYPE_DIR
//             = "vnd.android.cursor.dir/vnd." + BuildConfig.APPLICATION_ID + ".earths";
// 
//     public static final String CONTENT_TYPE_ITEM
//             = "vnd.android.cursor.item/vnd." + BuildConfig.APPLICATION_ID + ".earths";
// 
//     static final String TABLE = "earths";
// 
//     public static class Columns implements BaseColumns {
//         public static final String FILE = "file";
//         public static final String FETCHED_AT = "fetched_at";
//     }
// 
// }


// Path: wear/src/main/java/ooo/oxo/apps/earth/WatchSyncService.java
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.concurrent.TimeUnit;
import ooo.oxo.apps.earth.dao.Earth;
import ooo.oxo.apps.earth.provider.EarthsContract;
import android.util.Log;
import com.google.android.gms.common.ConnectionResult;
import com.google.android.gms.common.api.GoogleApiClient;
import com.google.android.gms.wearable.DataEvent;
import com.google.android.gms.wearable.DataEventBuffer;
import com.google.android.gms.wearable.DataItemAsset;
import com.google.android.gms.wearable.Node;
import com.google.android.gms.wearable.Wearable;
import com.google.android.gms.wearable.WearableListenerService;
import org.apache.commons.io.FileUtils;

/*
 * Mantou Earth - Live your wallpaper with live earth
 * Copyright (C) 2015  XiNGRZ <xxx@oxo.ooo>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package ooo.oxo.apps.earth;






public class WatchSyncService extends WearableListenerService {

    private static final String TAG = "WatchSyncService";

    @Override
    public void onPeerConnected(Node peer) {
        Log.v(TAG, "phone connected");
    }

    @Override
    public void onPeerDisconnected(Node peer) {
        Log.v(TAG, "phone disconnected");
    }

    @Override
    public void onDataChanged(DataEventBuffer events) {
        Log.v(TAG, "data incoming from phone");

        for (DataEvent event : events) {
            if (event.getType() == DataEvent.TYPE_CHANGED &&
                    event.getDataItem().getUri().getPath().equals("/earth")) {
                handleAsset(event.getDataItem().getAssets().get("earth"));
            }
        }
    }

    private void handleAsset(DataItemAsset asset) {