decouple activities that don't need google api client, give devicelocation its own google api client, preserve location across activity jumps, add misc folder for varios assets used in app promotion
This commit is contained in:
parent
c8e91cc9ef
commit
b06d80c9da
|
@ -18,7 +18,7 @@ import com.eleith.calchoochoo.utils.RxBusMessage.RxMessageKeys;
|
|||
import com.eleith.calchoochoo.utils.RxBusMessage.RxMessageLocation;
|
||||
import com.eleith.calchoochoo.utils.RxBusMessage.RxMessageStops;
|
||||
import com.eleith.calchoochoo.utils.StopUtils;
|
||||
import com.google.android.gms.common.api.GoogleApiClient;
|
||||
import com.google.android.gms.maps.model.LatLng;
|
||||
|
||||
import org.parceler.Parcels;
|
||||
|
||||
|
@ -37,12 +37,11 @@ public class MapSearchActivity extends AppCompatActivity {
|
|||
private ArrayList<Stop> stops;
|
||||
private Location location;
|
||||
private ChooChooDrawer chooChooDrawer;
|
||||
private LatLng myDefaultLatLng = new LatLng(37.3860517, -122.0838511);
|
||||
|
||||
@Inject
|
||||
RxBus rxBus;
|
||||
@Inject
|
||||
GoogleApiClient googleApiClient;
|
||||
@Inject
|
||||
ChooChooRouterManager chooChooRouterManager;
|
||||
@Inject
|
||||
ChooChooLoader chooChooLoader;
|
||||
|
@ -71,16 +70,13 @@ public class MapSearchActivity extends AppCompatActivity {
|
|||
if (stops == null) {
|
||||
chooChooLoader.loadParentStops();
|
||||
}
|
||||
|
||||
deviceLocation.requestLocationUpdates();
|
||||
deviceLocation.requestLocation();
|
||||
deviceLocation.listenForLocationUpdates();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
googleApiClient.connect();
|
||||
|
||||
if (subscription.isUnsubscribed()) {
|
||||
subscription = rxBus.observeEvents(RxMessage.class).subscribe(handleRxMessages());
|
||||
}
|
||||
|
@ -88,14 +84,15 @@ public class MapSearchActivity extends AppCompatActivity {
|
|||
if (subscriptionLocation.isUnsubscribed()) {
|
||||
subscriptionLocation = rxBus.observeEvents(RxMessageLocation.class).take(1).subscribe(handleRxLocationMessages());
|
||||
}
|
||||
deviceLocation.listenForLocationUpdates();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
googleApiClient.disconnect();
|
||||
subscription.unsubscribe();
|
||||
subscriptionLocation.unsubscribe();
|
||||
deviceLocation.stopListeningForLocationUpdates();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -106,7 +103,6 @@ public class MapSearchActivity extends AppCompatActivity {
|
|||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
googleApiClient.reconnect();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -172,6 +168,11 @@ public class MapSearchActivity extends AppCompatActivity {
|
|||
@Override
|
||||
public void call(RxMessageLocation rxMessage) {
|
||||
location = rxMessage.getMessage();
|
||||
if (location == null) {
|
||||
location = new Location("default");
|
||||
location.setLongitude(myDefaultLatLng.longitude);
|
||||
location.setLatitude(myDefaultLatLng.latitude);
|
||||
}
|
||||
initializeFragments();
|
||||
}
|
||||
};
|
||||
|
|
|
@ -42,8 +42,6 @@ public class StopActivity extends AppCompatActivity {
|
|||
@Inject
|
||||
RxBus rxBus;
|
||||
@Inject
|
||||
GoogleApiClient googleApiClient;
|
||||
@Inject
|
||||
ChooChooRouterManager chooChooRouterManager;
|
||||
@Inject
|
||||
ChooChooLoader chooChooLoader;
|
||||
|
@ -80,7 +78,6 @@ public class StopActivity extends AppCompatActivity {
|
|||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
googleApiClient.connect();
|
||||
if (subscription.isUnsubscribed()) {
|
||||
subscription = rxBus.observeEvents(RxMessage.class).subscribe(new HandleRxMessages());
|
||||
}
|
||||
|
@ -89,7 +86,6 @@ public class StopActivity extends AppCompatActivity {
|
|||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
googleApiClient.disconnect();
|
||||
subscription.unsubscribe();
|
||||
}
|
||||
|
||||
|
@ -101,7 +97,6 @@ public class StopActivity extends AppCompatActivity {
|
|||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
googleApiClient.reconnect();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -39,8 +39,6 @@ public class StopSearchActivity extends AppCompatActivity {
|
|||
@Inject
|
||||
RxBus rxBus;
|
||||
@Inject
|
||||
GoogleApiClient googleApiClient;
|
||||
@Inject
|
||||
ChooChooRouterManager chooChooRouterManager;
|
||||
@Inject
|
||||
ChooChooLoader chooChooLoader;
|
||||
|
@ -66,13 +64,11 @@ public class StopSearchActivity extends AppCompatActivity {
|
|||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
googleApiClient.connect();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
googleApiClient.disconnect();
|
||||
subscription.unsubscribe();
|
||||
subscriptionLocation.unsubscribe();
|
||||
KeyboardUtils.hide(this);
|
||||
|
@ -86,7 +82,6 @@ public class StopSearchActivity extends AppCompatActivity {
|
|||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
googleApiClient.reconnect();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -61,8 +61,6 @@ public class TripActivity extends AppCompatActivity {
|
|||
@Inject
|
||||
RxBus rxBus;
|
||||
@Inject
|
||||
GoogleApiClient googleApiClient;
|
||||
@Inject
|
||||
ChooChooRouterManager chooChooRouterManager;
|
||||
@Inject
|
||||
ChooChooLoader chooChooLoader;
|
||||
|
@ -151,7 +149,6 @@ public class TripActivity extends AppCompatActivity {
|
|||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
googleApiClient.connect();
|
||||
if (subscription.isUnsubscribed()) {
|
||||
subscription = rxBus.observeEvents(RxMessage.class).subscribe(new HandleRxMessages());
|
||||
}
|
||||
|
@ -160,7 +157,6 @@ public class TripActivity extends AppCompatActivity {
|
|||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
googleApiClient.disconnect();
|
||||
subscription.unsubscribe();
|
||||
}
|
||||
|
||||
|
@ -172,7 +168,6 @@ public class TripActivity extends AppCompatActivity {
|
|||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
googleApiClient.reconnect();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -47,8 +47,6 @@ public class TripFilterActivity extends AppCompatActivity {
|
|||
@Inject
|
||||
RxBus rxBus;
|
||||
@Inject
|
||||
GoogleApiClient googleApiClient;
|
||||
@Inject
|
||||
ChooChooRouterManager chooChooRouterManager;
|
||||
@Inject
|
||||
ChooChooLoader chooChooLoader;
|
||||
|
@ -99,14 +97,12 @@ public class TripFilterActivity extends AppCompatActivity {
|
|||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
googleApiClient.connect();
|
||||
subscription = rxBus.observeEvents(RxMessage.class).subscribe(handleRxMessage());
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStop() {
|
||||
super.onStop();
|
||||
googleApiClient.disconnect();
|
||||
fabShow();
|
||||
if (subscriptionTrips != null) {
|
||||
subscriptionTrips.unsubscribe();
|
||||
|
@ -122,7 +118,6 @@ public class TripFilterActivity extends AppCompatActivity {
|
|||
@Override
|
||||
protected void onResume() {
|
||||
super.onResume();
|
||||
googleApiClient.reconnect();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
@ -31,12 +31,4 @@ public class AppModule {
|
|||
public Context provideApplicationContext() {
|
||||
return application;
|
||||
}
|
||||
|
||||
@Provides
|
||||
@Singleton
|
||||
GoogleApiClient providesGoogleApiClient(Context context) {
|
||||
return new GoogleApiClient.Builder(context)
|
||||
.addApi(LocationServices.API)
|
||||
.build();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -68,7 +68,7 @@ public class ChooChooModule {
|
|||
|
||||
@ChooChooScope
|
||||
@Provides
|
||||
DeviceLocation providesDeviceLocation(RxBus rxBus, GoogleApiClient googleApiClient) {
|
||||
return new DeviceLocation(rxBus, googleApiClient, activity);
|
||||
DeviceLocation providesDeviceLocation(RxBus rxBus) {
|
||||
return new DeviceLocation(rxBus, activity);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ public class ChooChooWidgetConfigureModule {
|
|||
|
||||
@ChooChooWidgetConfigureScope
|
||||
@Provides
|
||||
DeviceLocation providesDeviceLocation(RxBus rxBus, GoogleApiClient googleApiClient) {
|
||||
return new DeviceLocation(rxBus, googleApiClient, chooChooWidgetConfigure);
|
||||
DeviceLocation providesDeviceLocation(RxBus rxBus) {
|
||||
return new DeviceLocation(rxBus, chooChooWidgetConfigure);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,7 +16,6 @@ import com.eleith.calchoochoo.R;
|
|||
import com.eleith.calchoochoo.data.ChooChooLoader;
|
||||
import com.eleith.calchoochoo.data.Stop;
|
||||
import com.eleith.calchoochoo.utils.BundleKeys;
|
||||
import com.eleith.calchoochoo.utils.DeviceLocation;
|
||||
import com.eleith.calchoochoo.utils.DrawableUtils;
|
||||
import com.eleith.calchoochoo.utils.MapUtils;
|
||||
import com.eleith.calchoochoo.utils.RxBus;
|
||||
|
@ -54,7 +53,6 @@ public class MapSearchFragment extends Fragment implements OnMapReadyCallback {
|
|||
private ArrayList<Stop> stops = null;
|
||||
private Location lastLocation;
|
||||
private Marker locationMarker;
|
||||
private LatLng myDefaultLatLng = new LatLng(37.04, -121.6);
|
||||
private Subscription subscriptionRxBus;
|
||||
|
||||
@Inject
|
||||
|
@ -63,8 +61,6 @@ public class MapSearchFragment extends Fragment implements OnMapReadyCallback {
|
|||
ChooChooRouterManager chooChooRouterManager;
|
||||
@Inject
|
||||
ChooChooLoader chooChooLoader;
|
||||
@Inject
|
||||
DeviceLocation deviceLocation;
|
||||
|
||||
@BindView(R.id.map_search_input)
|
||||
EditText mapSearchInput;
|
||||
|
@ -132,12 +128,6 @@ public class MapSearchFragment extends Fragment implements OnMapReadyCallback {
|
|||
|
||||
MapUtils.moveMapToLocation(lastLocation, googleMap, new CameraPosition.Builder().zoom(13));
|
||||
setMyLocationMarker(lastLocation);
|
||||
} else {
|
||||
myLatLng = myDefaultLatLng;
|
||||
cameraBuilder.target(myLatLng);
|
||||
CameraPosition cameraPosition = cameraBuilder.build();
|
||||
googleMap.moveCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
|
||||
googleMap.setOnMarkerClickListener(new OnMarkerClickListener());
|
||||
}
|
||||
|
||||
subscriptionRxBus = rxBus.observeEvents(RxMessage.class).subscribe(handleRxMessages());
|
||||
|
@ -200,6 +190,9 @@ public class MapSearchFragment extends Fragment implements OnMapReadyCallback {
|
|||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
if (subscriptionRxBus != null && subscriptionRxBus.isUnsubscribed()) {
|
||||
subscriptionRxBus = rxBus.observeEvents(RxMessage.class).subscribe(handleRxMessages());
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -224,6 +217,10 @@ public class MapSearchFragment extends Fragment implements OnMapReadyCallback {
|
|||
@Override
|
||||
public void onSaveInstanceState(Bundle outState) {
|
||||
googleMapView.onSaveInstanceState(outState);
|
||||
|
||||
outState.putParcelable(BundleKeys.STOPS, Parcels.wrap(stops));
|
||||
outState.putParcelable(BundleKeys.LOCATION, lastLocation);
|
||||
|
||||
super.onSaveInstanceState(outState);
|
||||
}
|
||||
|
||||
|
@ -250,11 +247,13 @@ public class MapSearchFragment extends Fragment implements OnMapReadyCallback {
|
|||
LatLng myLatLng = new LatLng(lastLocation.getLatitude(), lastLocation.getLongitude());
|
||||
CameraPosition cameraPosition = new CameraPosition.Builder().zoom(13).target(myLatLng).build();
|
||||
googleMap.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
|
||||
} else if (rxMessage.isMessageValidFor(RxMessageKeys.MY_LOCATION_UPDATE)) {
|
||||
} else if (rxMessage.isMessageValidFor(RxMessageKeys.MY_LOCATION_UPDATE) || rxMessage.isMessageValidFor(RxMessageKeys.MY_LOCATION)) {
|
||||
Location location = ((RxMessageLocation) rxMessage).getMessage();
|
||||
if (location != null) {
|
||||
setMyLocationMarker(location);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,6 @@ import com.google.android.gms.common.ConnectionResult;
|
|||
import com.google.android.gms.common.api.GoogleApiClient;
|
||||
import com.google.android.gms.location.LocationRequest;
|
||||
import com.google.android.gms.location.LocationServices;
|
||||
import com.google.android.gms.maps.model.LatLng;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
||||
|
@ -28,56 +27,46 @@ public class DeviceLocation
|
|||
private RxBus rxBus;
|
||||
private GoogleApiClient googleApiClient;
|
||||
private Activity activity;
|
||||
private Boolean googleApiClientReady = false;
|
||||
private int requestedUpdates = 0;
|
||||
private int requestedLocation = 0;
|
||||
private Boolean requestingUpdates = false;
|
||||
private LatLng myDefaultLatLng = new LatLng(37.04, -121.6);
|
||||
|
||||
@Inject
|
||||
public DeviceLocation(RxBus rxBus, GoogleApiClient googleApiClient, Activity activity) {
|
||||
public DeviceLocation(RxBus rxBus, Activity activity) {
|
||||
this.rxBus = rxBus;
|
||||
this.googleApiClient = googleApiClient;
|
||||
this.activity = activity;
|
||||
googleApiClient = new GoogleApiClient.Builder(activity).addApi(LocationServices.API).build();
|
||||
googleApiClient.registerConnectionFailedListener(this);
|
||||
googleApiClient.registerConnectionCallbacks(this);
|
||||
}
|
||||
|
||||
public void requestLocation() {
|
||||
if (googleApiClientReady) {
|
||||
if (android.os.Build.VERSION.SDK_INT >= 23) {
|
||||
if (activity.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
|
||||
Location location = LocationServices.FusedLocationApi.getLastLocation(googleApiClient);
|
||||
if (location != null) {
|
||||
onLocationChanged(location);
|
||||
} else {
|
||||
location = new Location("default");
|
||||
location.setLatitude(myDefaultLatLng.latitude);
|
||||
location.setLongitude(myDefaultLatLng.longitude);
|
||||
onLocationChanged(location);
|
||||
private void connectGoogleApiClient() {
|
||||
if (!googleApiClient.isConnected() && !googleApiClient.isConnecting()) {
|
||||
googleApiClient.connect();
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
activity.requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, Permissions.READ_GPS);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Location location = LocationServices.FusedLocationApi.getLastLocation(googleApiClient);
|
||||
if (location != null) {
|
||||
onLocationChanged(location);
|
||||
} else {
|
||||
location = new Location("default");
|
||||
location.setLatitude(myDefaultLatLng.latitude);
|
||||
location.setLongitude(myDefaultLatLng.longitude);
|
||||
onLocationChanged(location);
|
||||
}
|
||||
return;
|
||||
}
|
||||
requestedLocation++;
|
||||
}
|
||||
|
||||
public void requestLocationUpdates() {
|
||||
if (googleApiClientReady) {
|
||||
public void requestLocation() {
|
||||
if (googleApiClient.isConnected()) {
|
||||
if (android.os.Build.VERSION.SDK_INT >= 23) {
|
||||
if (activity.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
|
||||
Location location = LocationServices.FusedLocationApi.getLastLocation(googleApiClient);
|
||||
sendLastLocation(location);
|
||||
} else {
|
||||
activity.requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, Permissions.READ_GPS);
|
||||
}
|
||||
} else {
|
||||
Location location = LocationServices.FusedLocationApi.getLastLocation(googleApiClient);
|
||||
sendLastLocation(location);
|
||||
}
|
||||
} else {
|
||||
requestedLocation++;
|
||||
connectGoogleApiClient();
|
||||
}
|
||||
}
|
||||
|
||||
public void listenForLocationUpdates() {
|
||||
if (googleApiClient.isConnected()) {
|
||||
if (android.os.Build.VERSION.SDK_INT >= 23) {
|
||||
if (activity.checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
|
||||
if (!requestingUpdates) {
|
||||
|
@ -88,7 +77,6 @@ public class DeviceLocation
|
|||
LocationServices.FusedLocationApi.requestLocationUpdates(googleApiClient, locationRequest, this);
|
||||
requestingUpdates = true;
|
||||
}
|
||||
return;
|
||||
} else {
|
||||
activity.requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, Permissions.READ_GPS);
|
||||
}
|
||||
|
@ -101,19 +89,22 @@ public class DeviceLocation
|
|||
LocationServices.FusedLocationApi.requestLocationUpdates(googleApiClient, locationRequest, this);
|
||||
requestingUpdates = true;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
requestedUpdates++;
|
||||
connectGoogleApiClient();
|
||||
}
|
||||
}
|
||||
|
||||
public void stopListeningForLocationUpdates() {
|
||||
requestingUpdates = false;
|
||||
googleApiClient.disconnect();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConnected(@Nullable Bundle bundle) {
|
||||
googleApiClientReady = true;
|
||||
requestingUpdates = false;
|
||||
|
||||
if (requestedUpdates > 0) {
|
||||
requestLocationUpdates();
|
||||
listenForLocationUpdates();
|
||||
}
|
||||
|
||||
if (requestedLocation > 0) {
|
||||
|
@ -123,19 +114,23 @@ public class DeviceLocation
|
|||
|
||||
@Override
|
||||
public void onConnectionSuspended(int i) {
|
||||
googleApiClientReady = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
|
||||
googleApiClientReady = false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onLocationChanged(Location location) {
|
||||
if (location != null) {
|
||||
rxBus.send(new RxMessageLocation(RxMessageKeys.MY_LOCATION_UPDATE, location));
|
||||
}
|
||||
|
||||
private void sendLastLocation(Location location) {
|
||||
requestedLocation--;
|
||||
if (requestedUpdates == 0 && !requestingUpdates && requestedLocation == 0) {
|
||||
googleApiClient.disconnect();
|
||||
}
|
||||
rxBus.send(new RxMessageLocation(RxMessageKeys.MY_LOCATION, location));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -144,7 +139,7 @@ public class DeviceLocation
|
|||
case Permissions.READ_GPS: {
|
||||
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
|
||||
if (requestedUpdates > 0) {
|
||||
requestLocationUpdates();
|
||||
listenForLocationUpdates();
|
||||
} else if (requestedLocation > 0) {
|
||||
requestLocation();
|
||||
}
|
||||
|
@ -154,5 +149,4 @@ public class DeviceLocation
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Binary file not shown.
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
version="1.1"
|
||||
id="レイヤー_1"
|
||||
x="0px"
|
||||
y="0px"
|
||||
width="128px"
|
||||
height="128px"
|
||||
viewBox="0 0 128 128"
|
||||
enable-background="new 0 0 128 128"
|
||||
xml:space="preserve"><metadata
|
||||
id="metadata4319"><rdf:RDF><cc:Work
|
||||
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||
id="defs4317"><filter
|
||||
style="color-interpolation-filters:sRGB"
|
||||
id="filter4730-3"><feFlood
|
||||
flood-opacity="0.498039"
|
||||
flood-color="rgb(0,0,0)"
|
||||
result="flood"
|
||||
id="feFlood4732-6" /><feComposite
|
||||
in="flood"
|
||||
in2="SourceGraphic"
|
||||
operator="in"
|
||||
result="composite1"
|
||||
id="feComposite4734-7" /><feGaussianBlur
|
||||
in="composite1"
|
||||
stdDeviation="0.5"
|
||||
result="blur"
|
||||
id="feGaussianBlur4736-5" /><feOffset
|
||||
dx="0.5"
|
||||
dy="0.5"
|
||||
result="offset"
|
||||
id="feOffset4738-3" /><feComposite
|
||||
in="SourceGraphic"
|
||||
in2="offset"
|
||||
operator="over"
|
||||
result="composite2"
|
||||
id="feComposite4740-5" /></filter></defs><path
|
||||
style="fill:#ffc107;fill-opacity:1;filter:url(#filter4730-3)"
|
||||
d="M 128.07891,63.710147 A 63.924564,63.924564 0 0 1 64.154345,127.63472 63.924564,63.924564 0 0 1 0.22978089,63.710147 63.924564,63.924564 0 0 1 64.154345,-0.21441708 63.924564,63.924564 0 0 1 128.07891,63.710147 Z"
|
||||
id="path4321" /><g
|
||||
id="g4247"
|
||||
transform="matrix(0.80543844,0,0,0.83319532,13.416159,3.149781)"
|
||||
clip-path="none"><path
|
||||
d="m 64.35,72.12 c -3.31,0 -5.99,-2.23 -5.99,-4.98 l 0,-13.92 c 0,-2.74 2.68,-4.97 5.99,-4.97 3.3,0 5.99,2.22 5.99,4.97 l 0,13.92 c 0.01,2.74 -2.68,4.98 -5.99,4.98 z"
|
||||
id="path4249"
|
||||
style="fill:#ed6c30" /><path
|
||||
d="m 49.29,75.75 c -3.31,0 -5.98,-2.23 -5.98,-4.97 l 0,-13.91 c 0,-2.75 2.67,-4.98 5.98,-4.98 3.31,0 6,2.22 6,4.98 l 0,13.92 c -0.01,2.73 -2.7,4.96 -6,4.96 z"
|
||||
id="path4251"
|
||||
style="fill:#ed6c30" /><path
|
||||
style="fill:#2f2f2f"
|
||||
d="m 26.440001,95.779999 95.409999,0 0,15.910001 -95.409999,0 z"
|
||||
id="rect4253" /><path
|
||||
style="fill:#ed6c30"
|
||||
d="m 13.36,63.23 91.81,0 0,37.41 -91.81,0 z"
|
||||
id="rect4255" /><path
|
||||
style="fill:#ed6c30"
|
||||
d="m 77.940002,39.580002 43.919998,0 0,61.059998 -43.919998,0 z"
|
||||
id="rect4257" /><g
|
||||
id="g4259"><path
|
||||
d="m 35.04,63.24 c 4.26,0 7.72,8.38 7.72,18.71 0,10.33 -3.46,18.7 -7.72,18.7 -4.27,0 -7.73,-8.37 -7.73,-18.7 0.01,-10.33 3.47,-18.71 7.73,-18.71 z"
|
||||
id="path4261"
|
||||
style="fill:#2f2f2f" /><path
|
||||
d="m 35.04,101.69 c -4.92,0 -8.77,-8.67 -8.77,-19.74 0,-11.07 3.85,-19.74 8.77,-19.74 4.91,0 8.76,8.67 8.76,19.74 0,11.07 -3.85,19.74 -8.76,19.74 z m 0,-37.41 c -3.16,0 -6.69,7.26 -6.69,17.67 0,10.41 3.53,17.66 6.69,17.66 3.16,0 6.68,-7.25 6.68,-17.66 0,-10.41 -3.52,-17.67 -6.68,-17.67 z"
|
||||
id="path4263"
|
||||
style="fill:#fcc21b" /></g><path
|
||||
style="fill:#2f2f2f"
|
||||
d="m 13.79,63.209999 21.780001,0 0,37.930001 -21.780001,0 z"
|
||||
id="rect4265" /><path
|
||||
clip-path="none"
|
||||
style="fill:#2f2f2f"
|
||||
d="m 71.959999,32.66 55.890001,0 0,6.93 -55.890001,0 z"
|
||||
id="rect4267" /><path
|
||||
style="fill:#2f2f2f"
|
||||
d="m 44.49,33.93 -9.05,29.3 -14.52,0 -9.05,-29.3 z"
|
||||
id="polygon4269" /><path
|
||||
style="fill:#2f2f2f"
|
||||
d="m 44.49,33.93 -4.65,-10.37 -23.53,0 -4.44,10.37 z"
|
||||
id="polygon4271" /><path
|
||||
style="fill:#2f2f2f"
|
||||
d="m 13.36,100.64 -13.21,19.55 28.52,0 0,-19.55 z"
|
||||
id="polygon4273" /><path
|
||||
d="m 116.51,45.55 c 0,-1.54 -1.25,-2.8 -2.81,-2.8 l -12.51,0 c -1.56,0 -2.83,1.26 -2.83,2.8 l 0,21.64 c 0,1.55 1.27,2.8 2.83,2.8 l 12.51,0 c 1.56,0 2.81,-1.24 2.81,-2.8 l 0,-21.64 z"
|
||||
id="path4275"
|
||||
style="fill:#ffffff" /><path
|
||||
style="fill:#2f2f2f"
|
||||
d="m 0.15000001,114.26 28.51999999,0 0,5.93 -28.51999999,0 z"
|
||||
id="rect4277" /><g
|
||||
id="g4279"><path
|
||||
d="m 82.79,105.02 c 0,8.53 -6.91,15.44 -15.42,15.44 -8.53,0 -15.45,-6.91 -15.45,-15.44 0,-8.53 6.92,-15.44 15.45,-15.44 8.52,0 15.42,6.91 15.42,15.44 z"
|
||||
id="path4281"
|
||||
style="fill:#78a3ad" /></g><g
|
||||
id="g4283"><path
|
||||
d="m 76.25,105.02 c 0,4.91 -3.98,8.9 -8.89,8.9 -4.92,0 -8.91,-3.98 -8.91,-8.9 0,-4.92 3.99,-8.89 8.91,-8.89 4.91,0 8.89,3.98 8.89,8.89 z"
|
||||
id="path4285"
|
||||
style="fill:#2f2f2f" /></g><g
|
||||
id="g4287"><path
|
||||
d="m 113.68,105.02 c 0,8.53 -6.91,15.44 -15.43,15.44 -8.53,0 -15.45,-6.91 -15.45,-15.44 0,-8.53 6.92,-15.44 15.45,-15.44 8.52,0 15.43,6.91 15.43,15.44 z"
|
||||
id="path4289"
|
||||
style="fill:#78a3ad" /></g><g
|
||||
id="g4291"><path
|
||||
d="m 107.13,105.02 c 0,4.91 -3.98,8.9 -8.9,8.9 -4.91,0 -8.9,-3.98 -8.9,-8.9 0,-4.92 3.99,-8.89 8.9,-8.89 4.92,0 8.9,3.98 8.9,8.89 z"
|
||||
id="path4293"
|
||||
style="fill:#2f2f2f" /></g><path
|
||||
d="m 70.04,104.25 c -1.42,0 -2.58,-1.16 -2.58,-2.59 l 0,0 c 0,-1.42 1.16,-2.58 2.58,-2.58 l 25.54,0 c 1.42,0 2.57,1.15 2.57,2.58 l 0,0 c 0,1.43 -1.15,2.59 -2.57,2.59 l -25.54,0 z"
|
||||
id="path4295"
|
||||
style="fill:#ffffff" /><g
|
||||
id="g4297"><g
|
||||
id="g4299"><path
|
||||
d="m 50.47,109.57 c 0,6.02 -4.88,10.89 -10.89,10.89 -6.03,0 -10.91,-4.87 -10.91,-10.89 0,-6.02 4.87,-10.88 10.91,-10.88 6.01,-0.01 10.89,4.86 10.89,10.88 z"
|
||||
id="path4301"
|
||||
style="fill:#78a3ad" /></g></g><path
|
||||
style="fill:#78a3ad;fill-opacity:1"
|
||||
d="m 58.330002,54.029999 12.01,0 0,7.69 -12.01,0 z"
|
||||
id="rect4303" /><path
|
||||
style="fill:#78a3ad;fill-opacity:1"
|
||||
d="m 43.360001,56.799999 11.899999,0 0,5.03 -11.899999,0 z"
|
||||
id="rect4305" /><g
|
||||
id="g4307"
|
||||
clip-path="none"><path
|
||||
d="m 13.36,63.23 c 4.27,0 7.72,8.37 7.72,18.71 0,10.33 -3.45,18.7 -7.72,18.7 -4.26,0 -7.71,-8.38 -7.71,-18.7 0,-10.33 3.46,-18.71 7.71,-18.71 z"
|
||||
id="path4309"
|
||||
style="fill:#2f2f2f" /><path
|
||||
d="M 13.36,101.68 C 8.45,101.68 4.61,93 4.61,81.94 4.61,70.87 8.46,62.2 13.36,62.2 c 4.92,0 8.76,8.67 8.76,19.74 0.01,11.07 -3.84,19.74 -8.76,19.74 z m 0,-37.41 c -3.15,0 -6.67,7.25 -6.67,17.67 0,10.41 3.52,17.66 6.67,17.66 3.16,0 6.68,-7.25 6.68,-17.66 0.01,-10.41 -3.51,-17.67 -6.68,-17.67 z"
|
||||
id="path4311"
|
||||
style="fill:#fcc21b" /></g><path
|
||||
style="fill:#2f2f2f"
|
||||
d="m 10.59,32.689999 35.18,0 0,2.63 -35.18,0 z"
|
||||
id="rect4313" /></g></svg>
|
After Width: | Height: | Size: 6.7 KiB |
|
@ -0,0 +1,64 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
||||
y="0px" width="128px" height="128px" viewBox="0 0 128 128" enable-background="new 0 0 128 128" xml:space="preserve">
|
||||
<g>
|
||||
<path fill="#ED6C30" d="M64.35,72.12c-3.31,0-5.99-2.23-5.99-4.98V53.22c0-2.74,2.68-4.97,5.99-4.97c3.3,0,5.99,2.22,5.99,4.97
|
||||
v13.92C70.35,69.88,67.66,72.12,64.35,72.12z"/>
|
||||
<path fill="#ED6C30" d="M49.29,75.75c-3.31,0-5.98-2.23-5.98-4.97V56.87c0-2.75,2.67-4.98,5.98-4.98s6,2.22,6,4.98v13.92
|
||||
C55.28,73.52,52.59,75.75,49.29,75.75z"/>
|
||||
<rect x="26.44" y="95.78" fill="#2F2F2F" width="95.41" height="15.91"/>
|
||||
<rect x="13.36" y="63.23" fill="#ED6C30" width="91.81" height="37.41"/>
|
||||
<rect x="77.94" y="39.58" fill="#ED6C30" width="43.92" height="61.06"/>
|
||||
<g>
|
||||
<path fill="#2F2F2F" d="M35.04,63.24c4.26,0,7.72,8.38,7.72,18.71c0,10.33-3.46,18.7-7.72,18.7c-4.27,0-7.73-8.37-7.73-18.7
|
||||
C27.32,71.62,30.78,63.24,35.04,63.24z"/>
|
||||
<path fill="#FCC21B" d="M35.04,101.69c-4.92,0-8.77-8.67-8.77-19.74c0-11.07,3.85-19.74,8.77-19.74c4.91,0,8.76,8.67,8.76,19.74
|
||||
C43.8,93.02,39.95,101.69,35.04,101.69z M35.04,64.28c-3.16,0-6.69,7.26-6.69,17.67s3.53,17.66,6.69,17.66
|
||||
c3.16,0,6.68-7.25,6.68-17.66S38.2,64.28,35.04,64.28z"/>
|
||||
</g>
|
||||
<rect x="13.79" y="63.21" fill="#2F2F2F" width="21.78" height="37.93"/>
|
||||
<rect x="71.96" y="32.66" fill="#2F2F2F" width="55.89" height="6.93"/>
|
||||
<polygon fill="#2F2F2F" points="35.44,63.23 20.92,63.23 11.87,33.93 44.49,33.93 "/>
|
||||
<polygon fill="#2F2F2F" points="39.84,23.56 16.31,23.56 11.87,33.93 44.49,33.93 "/>
|
||||
<polygon fill="#2F2F2F" points="0.15,120.19 28.67,120.19 28.67,100.64 13.36,100.64 "/>
|
||||
<path fill="#FFFFFF" d="M116.51,45.55c0-1.54-1.25-2.8-2.81-2.8h-12.51c-1.56,0-2.83,1.26-2.83,2.8v21.64c0,1.55,1.27,2.8,2.83,2.8
|
||||
h12.51c1.56,0,2.81-1.24,2.81-2.8V45.55z"/>
|
||||
<rect x="0.15" y="114.26" fill="#2F2F2F" width="28.52" height="5.93"/>
|
||||
<g>
|
||||
<path fill="#78A3AD" d="M82.79,105.02c0,8.53-6.91,15.44-15.42,15.44c-8.53,0-15.45-6.91-15.45-15.44
|
||||
c0-8.53,6.92-15.44,15.45-15.44C75.89,89.58,82.79,96.49,82.79,105.02z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#2F2F2F" d="M76.25,105.02c0,4.91-3.98,8.9-8.89,8.9c-4.92,0-8.91-3.98-8.91-8.9c0-4.92,3.99-8.89,8.91-8.89
|
||||
C72.27,96.13,76.25,100.11,76.25,105.02z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#78A3AD" d="M113.68,105.02c0,8.53-6.91,15.44-15.43,15.44c-8.53,0-15.45-6.91-15.45-15.44
|
||||
c0-8.53,6.92-15.44,15.45-15.44C106.77,89.58,113.68,96.49,113.68,105.02z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#2F2F2F" d="M107.13,105.02c0,4.91-3.98,8.9-8.9,8.9c-4.91,0-8.9-3.98-8.9-8.9c0-4.92,3.99-8.89,8.9-8.89
|
||||
C103.15,96.13,107.13,100.11,107.13,105.02z"/>
|
||||
</g>
|
||||
<path fill="#FFFFFF" d="M70.04,104.25c-1.42,0-2.58-1.16-2.58-2.59l0,0c0-1.42,1.16-2.58,2.58-2.58h25.54
|
||||
c1.42,0,2.57,1.15,2.57,2.58l0,0c0,1.43-1.15,2.59-2.57,2.59H70.04z"/>
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#78A3AD" d="M50.47,109.57c0,6.02-4.88,10.89-10.89,10.89c-6.03,0-10.91-4.87-10.91-10.89
|
||||
c0-6.02,4.87-10.88,10.91-10.88C45.59,98.68,50.47,103.55,50.47,109.57z"/>
|
||||
</g>
|
||||
</g>
|
||||
<rect x="58.33" y="54.03" fill="#FCC21B" width="12.01" height="7.69"/>
|
||||
<rect x="43.36" y="56.8" fill="#FCC21B" width="11.9" height="5.03"/>
|
||||
<g>
|
||||
<path fill="#2F2F2F" d="M13.36,63.23c4.27,0,7.72,8.37,7.72,18.71c0,10.33-3.45,18.7-7.72,18.7c-4.26,0-7.71-8.38-7.71-18.7
|
||||
C5.65,71.61,9.11,63.23,13.36,63.23z"/>
|
||||
<path fill="#FCC21B" d="M13.36,101.68c-4.91,0-8.75-8.68-8.75-19.74c0-11.07,3.85-19.74,8.75-19.74c4.92,0,8.76,8.67,8.76,19.74
|
||||
C22.13,93.01,18.28,101.68,13.36,101.68z M13.36,64.27c-3.15,0-6.67,7.25-6.67,17.67c0,10.41,3.52,17.66,6.67,17.66
|
||||
c3.16,0,6.68-7.25,6.68-17.66C20.05,71.53,16.53,64.27,13.36,64.27z"/>
|
||||
</g>
|
||||
<rect x="10.59" y="32.69" fill="#2F2F2F" width="35.18" height="2.63"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 4.0 KiB |
|
@ -0,0 +1,35 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg version="1.1" id="レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
||||
y="0px" width="128px" height="128px" viewBox="0 0 128 128" enable-background="new 0 0 128 128" xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<defs>
|
||||
<path id="SVGID_1_" d="M127.38,51.82c0-7.55-4.09-14.64-22.55-14.64H75.7H52.3H23.27c-18.47,0-22.56,7.09-22.56,14.64
|
||||
c0,5.69,0,11.81,0,15.57c0,0.04,0.02,0.06,0.02,0.1c-0.08,1.07-0.11,2.15-0.11,3.23c0,13.04,0,27.06,0,35.68
|
||||
c0,1.81,1.45,3.26,3.26,3.26h120.24c1.8,0,3.26-1.45,3.26-3.26c0-8.62,0-22.65,0-35.68c0-0.96-0.03-1.91-0.09-2.86
|
||||
c0.05-0.15,0.09-0.3,0.09-0.48C127.38,63.63,127.38,57.51,127.38,51.82z"/>
|
||||
</defs>
|
||||
<use xlink:href="#SVGID_1_" overflow="visible" fill="#FCC21B"/>
|
||||
<clipPath id="SVGID_2_">
|
||||
<use xlink:href="#SVGID_1_" overflow="visible"/>
|
||||
</clipPath>
|
||||
<rect x="-2.52" y="51.88" clip-path="url(#SVGID_2_)" fill="#F79329" width="133.89" height="30.46"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#2F2F2F" d="M39,108.81c0,6.62-5.37,11.97-11.98,11.97c-6.62,0-11.99-5.36-11.99-11.97c0-6.63,5.37-11.97,11.99-11.97
|
||||
C33.63,96.84,39,102.19,39,108.81z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#2F2F2F" d="M110.21,108.81c0,6.62-5.37,11.97-11.98,11.97c-6.62,0-11.99-5.36-11.99-11.97
|
||||
c0-6.63,5.37-11.97,11.99-11.97C104.85,96.84,110.21,102.19,110.21,108.81z"/>
|
||||
</g>
|
||||
<path fill="#FFFFFF" d="M35.33,75.08c0,1.75-1.41,3.16-3.17,3.16h-10.3c-1.75,0-3.17-1.41-3.17-3.16V58.29
|
||||
c0-1.75,1.42-3.17,3.17-3.17h10.3c1.75,0,3.17,1.42,3.17,3.17V75.08z M63.78,58.29c0-1.75-1.42-3.17-3.18-3.17H50.3
|
||||
c-1.75,0-3.16,1.42-3.16,3.17v16.79c0,1.75,1.41,3.16,3.16,3.16H60.6c1.75,0,3.18-1.41,3.18-3.16V58.29z M86.83,58.29
|
||||
c0-1.75-1.43-3.17-3.18-3.17H73.35c-1.75,0-3.17,1.42-3.17,3.17v16.79c0,1.75,1.42,3.16,3.17,3.16h10.31
|
||||
c1.75,0,3.18-1.41,3.18-3.16V58.29z M109.15,58.29c0-1.75-1.41-3.17-3.18-3.17H95.67c-1.75,0-3.17,1.42-3.17,3.17v16.79
|
||||
c0,1.75,1.42,3.16,3.17,3.16h10.29c1.77,0,3.18-1.41,3.18-3.16V58.29z"/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
Reference in New Issue