// Path: app/src/main/java/com/github/gfx/hankei_n/model/LocationMemo.java
// @Table("addresses")
// @ParametersAreNonnullByDefault
// public class LocationMemo implements Serializable, Comparable<LocationMemo> {
// 
//     @SerializedName("id")
//     @PrimaryKey(autoincrement = true)
//     public long id;
// 
//     @SerializedName("address")
//     @Column
//     @NonNull
//     public String address;
// 
//     @SerializedName("note")
//     @Column
//     @NonNull
//     public String note;
// 
//     @SerializedName("latitude")
//     @Column
//     public double latitude;
// 
//     @SerializedName("longitude")
//     @Column
//     public double longitude;
// 
//     @SerializedName("radius")
//     @Column
//     public double radius;
// 
//     @SerializedName("draw_circle")
//     @Column(defaultExpr = "1")
//     public boolean drawCircle;
// 
//     @SerializedName("marker_hue")
//     @Column
//     public float markerHue;
// 
//     @Setter
//     public LocationMemo(long id, @NonNull String address, @NonNull String note, double latitude, double longitude,
//             double radius, boolean drawCircle, float markerHue) {
//         this.id = id;
//         this.address = address;
//         this.note = note;
//         this.latitude = latitude;
//         this.longitude = longitude;
//         this.radius = radius;
//         this.drawCircle = drawCircle;
//         this.markerHue = markerHue;
//     }
// 
//     public LocationMemo(long id, @NonNull String address, @NonNull String note, @NonNull LatLng location,
//             double radius, boolean drawCircle, float markerHue) {
//         this(id, address, note, location.latitude, location.longitude, radius, drawCircle, markerHue);
//     }
// 
//     public LocationMemo(@NonNull String address, @NonNull String note, @NonNull LatLng location,
//             double radius, boolean drawCircle, float markerHue) {
//         this(0, address, note, location, radius, drawCircle, markerHue);
//     }
// 
//     public LocationMemo copy() {
//         return new LocationMemo(id, address, note, latitude, longitude, radius, drawCircle, markerHue);
//     }
// 
//     public boolean isPointingSomewhere() {
//         return Locations.isSomewhere(latitude, longitude);
//     }
// 
//     public boolean isPointingNowhere() {
//         return Locations.isNowhere(latitude, longitude);
//     }
// 
//     public LatLng getLatLng() {
//         return new LatLng(latitude, longitude);
//     }
// 
//     public boolean isPersistent() {
//         return id > 0;
//     }
// 
//     public void update(LocationMemo memo) {
//         id = memo.id;
//         address = memo.address;
//         note = memo.note;
//         latitude = memo.latitude;
//         longitude = memo.longitude;
//         radius = memo.radius;
//         markerHue = memo.markerHue;
//     }
// 
//     public void setLatLng(LatLng latLng) {
//         latitude = latLng.latitude;
//         longitude = latLng.longitude;
//     }
// 
//     @Override
//     public boolean equals(@Nullable Object o) {
//         if (this == o) {
//             return true;
//         }
//         if (o == null || getClass() != o.getClass()) {
//             return false;
//         }
// 
//         LocationMemo that = (LocationMemo) o;
// 
//         return id == that.id;
//     }
// 
//     public boolean contentEquals(LocationMemo memo) {
//         return toString().equals(memo.toString());
//     }
// 
//     @Override
//     public int hashCode() {
//         return (int) (id % Integer.MAX_VALUE);
//     }
// 
//     @Override
//     public int compareTo(LocationMemo another) {
//         return another.address.compareTo(this.address);
//     }
// 
//     @Override
//     public String toString() {
//         return "LocationMemo{" +
//                 "id=" + id +
//                 ", address='" + address + '\'' +
//                 ", note='" + note + '\'' +
//                 ", latitude=" + latitude +
//                 ", longitude=" + longitude +
//                 ", radius=" + radius +
//                 ", drawCircle=" + drawCircle +
//                 ", markerHue=" + markerHue +
//                 '}';
//     }
// }


import com.github.gfx.hankei_n.R;
import com.github.gfx.hankei_n.model.LocationMemo;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import java.util.Locale;
package com.github.gfx.hankei_n.toolbox;




public class Intents {

    private static String createGoogleMapUri(double latitude, double longitude) {
        return String.format(Locale.getDefault(), "https://www.google.co.jp/maps/?q=%g,%g", latitude, longitude);
    }

    public static Intent createStreetViewIntent(double latitude, double longitude) {
        // https://developers.google.com/maps/documentation/android-api/intents
        Uri uri = Uri.parse(String.format(Locale.getDefault(), "google.streetview:cbll=%g,%g",latitude, longitude));
        return new Intent(Intent.ACTION_VIEW, uri);
    }

    public static Intent createShareTextIntent(CharSequence title, CharSequence text) {
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("text/plain");
// Path: app/src/main/java/com/github/gfx/hankei_n/model/LocationMemo.java
// @Table("addresses")
// @ParametersAreNonnullByDefault
// public class LocationMemo implements Serializable, Comparable<LocationMemo> {
// 
//     @SerializedName("id")
//     @PrimaryKey(autoincrement = true)
//     public long id;
// 
//     @SerializedName("address")
//     @Column
//     @NonNull
//     public String address;
// 
//     @SerializedName("note")
//     @Column
//     @NonNull
//     public String note;
// 
//     @SerializedName("latitude")
//     @Column
//     public double latitude;
// 
//     @SerializedName("longitude")
//     @Column
//     public double longitude;
// 
//     @SerializedName("radius")
//     @Column
//     public double radius;
// 
//     @SerializedName("draw_circle")
//     @Column(defaultExpr = "1")
//     public boolean drawCircle;
// 
//     @SerializedName("marker_hue")
//     @Column
//     public float markerHue;
// 
//     @Setter
//     public LocationMemo(long id, @NonNull String address, @NonNull String note, double latitude, double longitude,
//             double radius, boolean drawCircle, float markerHue) {
//         this.id = id;
//         this.address = address;
//         this.note = note;
//         this.latitude = latitude;
//         this.longitude = longitude;
//         this.radius = radius;
//         this.drawCircle = drawCircle;
//         this.markerHue = markerHue;
//     }
// 
//     public LocationMemo(long id, @NonNull String address, @NonNull String note, @NonNull LatLng location,
//             double radius, boolean drawCircle, float markerHue) {
//         this(id, address, note, location.latitude, location.longitude, radius, drawCircle, markerHue);
//     }
// 
//     public LocationMemo(@NonNull String address, @NonNull String note, @NonNull LatLng location,
//             double radius, boolean drawCircle, float markerHue) {
//         this(0, address, note, location, radius, drawCircle, markerHue);
//     }
// 
//     public LocationMemo copy() {
//         return new LocationMemo(id, address, note, latitude, longitude, radius, drawCircle, markerHue);
//     }
// 
//     public boolean isPointingSomewhere() {
//         return Locations.isSomewhere(latitude, longitude);
//     }
// 
//     public boolean isPointingNowhere() {
//         return Locations.isNowhere(latitude, longitude);
//     }
// 
//     public LatLng getLatLng() {
//         return new LatLng(latitude, longitude);
//     }
// 
//     public boolean isPersistent() {
//         return id > 0;
//     }
// 
//     public void update(LocationMemo memo) {
//         id = memo.id;
//         address = memo.address;
//         note = memo.note;
//         latitude = memo.latitude;
//         longitude = memo.longitude;
//         radius = memo.radius;
//         markerHue = memo.markerHue;
//     }
// 
//     public void setLatLng(LatLng latLng) {
//         latitude = latLng.latitude;
//         longitude = latLng.longitude;
//     }
// 
//     @Override
//     public boolean equals(@Nullable Object o) {
//         if (this == o) {
//             return true;
//         }
//         if (o == null || getClass() != o.getClass()) {
//             return false;
//         }
// 
//         LocationMemo that = (LocationMemo) o;
// 
//         return id == that.id;
//     }
// 
//     public boolean contentEquals(LocationMemo memo) {
//         return toString().equals(memo.toString());
//     }
// 
//     @Override
//     public int hashCode() {
//         return (int) (id % Integer.MAX_VALUE);
//     }
// 
//     @Override
//     public int compareTo(LocationMemo another) {
//         return another.address.compareTo(this.address);
//     }
// 
//     @Override
//     public String toString() {
//         return "LocationMemo{" +
//                 "id=" + id +
//                 ", address='" + address + '\'' +
//                 ", note='" + note + '\'' +
//                 ", latitude=" + latitude +
//                 ", longitude=" + longitude +
//                 ", radius=" + radius +
//                 ", drawCircle=" + drawCircle +
//                 ", markerHue=" + markerHue +
//                 '}';
//     }
// }


// Path: app/src/main/java/com/github/gfx/hankei_n/toolbox/Intents.java
import com.github.gfx.hankei_n.R;
import com.github.gfx.hankei_n.model.LocationMemo;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import java.util.Locale;

package com.github.gfx.hankei_n.toolbox;




public class Intents {

    private static String createGoogleMapUri(double latitude, double longitude) {
        return String.format(Locale.getDefault(), "https://www.google.co.jp/maps/?q=%g,%g", latitude, longitude);
    }

    public static Intent createStreetViewIntent(double latitude, double longitude) {
        // https://developers.google.com/maps/documentation/android-api/intents
        Uri uri = Uri.parse(String.format(Locale.getDefault(), "google.streetview:cbll=%g,%g",latitude, longitude));
        return new Intent(Intent.ACTION_VIEW, uri);
    }

    public static Intent createShareTextIntent(CharSequence title, CharSequence text) {
        Intent intent = new Intent(Intent.ACTION_SEND);
        intent.setType("text/plain");
        intent.putExtra(Intent.EXTRA_TEXT, text);