Error artwork (#1000)
* Add new Elephant Friend images. Use them in ListsActivity. * Add error images to AccountListFragment * Add error images to Timeline & Notifications fragment. Needs rework. * Introduce BackgroundMessageView. Use it in AccountList. * Use correct button style for BackgroundMessageView Co-Authored-By: charlag <charlag@tutanota.com> * Use BackgroundMessageView * Add BackgroundMessageView docs * Re-color and document elephants * Apply feedback, disable refresh when error is shown * Fix string typo
This commit is contained in:
parent
6e610b1d9d
commit
c0c73f5c06
13 changed files with 652 additions and 188 deletions
|
@ -3,25 +3,31 @@ package com.keylesspalace.tusky
|
|||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import android.view.LayoutInflater
|
||||
import android.view.MenuItem
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ProgressBar
|
||||
import android.widget.TextView
|
||||
import androidx.annotation.StringRes
|
||||
import androidx.appcompat.widget.Toolbar
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.keylesspalace.tusky.LoadingState.*
|
||||
import com.keylesspalace.tusky.di.Injectable
|
||||
import com.keylesspalace.tusky.entity.MastoList
|
||||
import com.keylesspalace.tusky.fragment.TimelineFragment
|
||||
import com.keylesspalace.tusky.network.MastodonApi
|
||||
import com.keylesspalace.tusky.util.ThemeUtils
|
||||
import com.keylesspalace.tusky.util.hide
|
||||
import com.keylesspalace.tusky.util.show
|
||||
import com.mikepenz.google_material_typeface_library.GoogleMaterial
|
||||
import com.mikepenz.iconics.IconicsDrawable
|
||||
import kotlinx.android.synthetic.main.activity_lists.*
|
||||
import retrofit2.Call
|
||||
import retrofit2.Response
|
||||
import java.io.IOException
|
||||
import java.lang.ref.WeakReference
|
||||
import javax.inject.Inject
|
||||
|
||||
|
@ -35,13 +41,17 @@ interface ListsView {
|
|||
}
|
||||
|
||||
|
||||
data class State(val lists: List<MastoList>, val isLoading: Boolean)
|
||||
enum class LoadingState {
|
||||
INITIAL, LOADING, LOADED, ERROR_NETWORK, ERROR_OTHER
|
||||
}
|
||||
|
||||
data class State(val lists: List<MastoList>, val loadingState: LoadingState)
|
||||
|
||||
class ListsViewModel(private val api: MastodonApi) {
|
||||
|
||||
private var _view: WeakReference<ListsView>? = null
|
||||
private val view: ListsView? get() = _view?.get()
|
||||
private var state = State(listOf(), false)
|
||||
private var state = State(listOf(), INITIAL)
|
||||
|
||||
fun attach(view: ListsView) {
|
||||
this._view = WeakReference(view)
|
||||
|
@ -57,17 +67,23 @@ class ListsViewModel(private val api: MastodonApi) {
|
|||
view?.openTimeline(id)
|
||||
}
|
||||
|
||||
fun retryLoading() {
|
||||
loadIfNeeded()
|
||||
}
|
||||
|
||||
private fun loadIfNeeded() {
|
||||
if (state.isLoading || !state.lists.isEmpty()) return
|
||||
updateState(state.copy(isLoading = false))
|
||||
if (state.loadingState == LOADING || !state.lists.isEmpty()) return
|
||||
updateState(state.copy(loadingState = LOADING))
|
||||
|
||||
api.getLists().enqueue(object : retrofit2.Callback<List<MastoList>> {
|
||||
override fun onResponse(call: Call<List<MastoList>>, response: Response<List<MastoList>>) {
|
||||
updateState(state.copy(lists = response.body() ?: listOf(), isLoading = false))
|
||||
updateState(state.copy(lists = response.body() ?: listOf(), loadingState = LOADED))
|
||||
}
|
||||
|
||||
override fun onFailure(call: Call<List<MastoList>>, t: Throwable?) {
|
||||
updateState(state.copy(isLoading = false))
|
||||
override fun onFailure(call: Call<List<MastoList>>, err: Throwable?) {
|
||||
updateState(state.copy(
|
||||
loadingState = if (err is IOException) ERROR_NETWORK else ERROR_OTHER
|
||||
))
|
||||
}
|
||||
})
|
||||
}
|
||||
|
@ -94,9 +110,6 @@ class ListsActivity : BaseActivity(), ListsView, Injectable {
|
|||
@Inject
|
||||
lateinit var mastodonApi: MastodonApi
|
||||
|
||||
private lateinit var recyclerView: RecyclerView
|
||||
private lateinit var progressBar: ProgressBar
|
||||
|
||||
private lateinit var viewModel: ListsViewModel
|
||||
private val adapter = ListsAdapter()
|
||||
|
||||
|
@ -105,8 +118,6 @@ class ListsActivity : BaseActivity(), ListsView, Injectable {
|
|||
setContentView(R.layout.activity_lists)
|
||||
|
||||
val toolbar = findViewById<Toolbar>(R.id.toolbar)
|
||||
recyclerView = findViewById(R.id.lists_recycler)
|
||||
progressBar = findViewById(R.id.progress_bar)
|
||||
|
||||
setSupportActionBar(toolbar)
|
||||
val bar = supportActionBar
|
||||
|
@ -116,9 +127,9 @@ class ListsActivity : BaseActivity(), ListsView, Injectable {
|
|||
bar.setDisplayShowHomeEnabled(true)
|
||||
}
|
||||
|
||||
recyclerView.adapter = adapter
|
||||
recyclerView.layoutManager = LinearLayoutManager(this)
|
||||
recyclerView.addItemDecoration(
|
||||
listsRecycler.adapter = adapter
|
||||
listsRecycler.layoutManager = LinearLayoutManager(this)
|
||||
listsRecycler.addItemDecoration(
|
||||
DividerItemDecoration(this, DividerItemDecoration.VERTICAL))
|
||||
|
||||
viewModel = lastNonConfigurationInstance as? ListsViewModel ?: ListsViewModel(mastodonApi)
|
||||
|
@ -137,8 +148,30 @@ class ListsActivity : BaseActivity(), ListsView, Injectable {
|
|||
|
||||
override fun update(state: State) {
|
||||
adapter.update(state.lists)
|
||||
progressBar.visibility = if (state.isLoading) View.VISIBLE else View.GONE
|
||||
|
||||
progressBar.visibility = if (state.loadingState == LOADING) View.VISIBLE else View.GONE
|
||||
when (state.loadingState) {
|
||||
INITIAL, LOADING -> messageView.hide()
|
||||
ERROR_NETWORK -> {
|
||||
messageView.show()
|
||||
messageView.setup(R.drawable.elephant_offline, R.string.error_network) {
|
||||
viewModel.retryLoading()
|
||||
}
|
||||
}
|
||||
ERROR_OTHER -> {
|
||||
messageView.show()
|
||||
messageView.setup(R.drawable.elephant_error, R.string.error_generic) {
|
||||
viewModel.retryLoading()
|
||||
}
|
||||
}
|
||||
LOADED ->
|
||||
if (state.lists.isEmpty()) {
|
||||
messageView.show()
|
||||
messageView.setup(R.drawable.elephant_friend_empty, R.string.message_empty,
|
||||
null)
|
||||
} else {
|
||||
messageView.hide()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun openTimeline(listId: String) {
|
||||
|
|
|
@ -16,24 +16,19 @@
|
|||
package com.keylesspalace.tusky.fragment
|
||||
|
||||
import android.os.Bundle
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import com.google.android.material.snackbar.Snackbar
|
||||
import com.keylesspalace.tusky.AccountActivity
|
||||
import com.keylesspalace.tusky.AccountListActivity.Type
|
||||
import com.keylesspalace.tusky.BaseActivity
|
||||
import com.keylesspalace.tusky.R
|
||||
import com.keylesspalace.tusky.adapter.AccountAdapter
|
||||
import com.keylesspalace.tusky.adapter.BlocksAdapter
|
||||
import com.keylesspalace.tusky.adapter.FollowAdapter
|
||||
import com.keylesspalace.tusky.adapter.FollowRequestsAdapter
|
||||
import com.keylesspalace.tusky.adapter.MutesAdapter
|
||||
import com.keylesspalace.tusky.adapter.*
|
||||
import com.keylesspalace.tusky.di.Injectable
|
||||
import com.keylesspalace.tusky.entity.Account
|
||||
import com.keylesspalace.tusky.entity.Relationship
|
||||
|
@ -41,14 +36,15 @@ import com.keylesspalace.tusky.interfaces.AccountActionListener
|
|||
import com.keylesspalace.tusky.network.MastodonApi
|
||||
import com.keylesspalace.tusky.util.HttpHeaderLink
|
||||
import com.keylesspalace.tusky.util.ThemeUtils
|
||||
import com.keylesspalace.tusky.util.hide
|
||||
import com.keylesspalace.tusky.util.show
|
||||
import com.keylesspalace.tusky.view.EndlessOnScrollListener
|
||||
import kotlinx.android.synthetic.main.fragment_account_list.*
|
||||
|
||||
import javax.inject.Inject
|
||||
|
||||
import retrofit2.Call
|
||||
import retrofit2.Callback
|
||||
import retrofit2.Response
|
||||
import java.io.IOException
|
||||
import javax.inject.Inject
|
||||
|
||||
class AccountListFragment : BaseFragment(), AccountActionListener, Injectable {
|
||||
|
||||
|
@ -83,7 +79,7 @@ class AccountListFragment : BaseFragment(), AccountActionListener, Injectable {
|
|||
divider.setDrawable(drawable)
|
||||
recyclerView.addItemDecoration(divider)
|
||||
|
||||
adapter = when(type) {
|
||||
adapter = when (type) {
|
||||
Type.BLOCKS -> BlocksAdapter(this)
|
||||
Type.MUTES -> MutesAdapter(this)
|
||||
Type.FOLLOW_REQUESTS -> FollowRequestsAdapter(this)
|
||||
|
@ -143,7 +139,7 @@ class AccountListFragment : BaseFragment(), AccountActionListener, Injectable {
|
|||
val mutesAdapter = adapter as MutesAdapter
|
||||
val unmutedUser = mutesAdapter.removeItem(position)
|
||||
|
||||
if(unmutedUser != null) {
|
||||
if (unmutedUser != null) {
|
||||
Snackbar.make(recyclerView, R.string.confirmation_unmuted, Snackbar.LENGTH_LONG)
|
||||
.setAction(R.string.action_undo) {
|
||||
mutesAdapter.addItem(unmutedUser, position)
|
||||
|
@ -193,7 +189,7 @@ class AccountListFragment : BaseFragment(), AccountActionListener, Injectable {
|
|||
val blocksAdapter = adapter as BlocksAdapter
|
||||
val unblockedUser = blocksAdapter.removeItem(position)
|
||||
|
||||
if(unblockedUser != null) {
|
||||
if (unblockedUser != null) {
|
||||
Snackbar.make(recyclerView, R.string.confirmation_unblocked, Snackbar.LENGTH_LONG)
|
||||
.setAction(R.string.action_undo) {
|
||||
blocksAdapter.addItem(unblockedUser, position)
|
||||
|
@ -311,11 +307,36 @@ class AccountListFragment : BaseFragment(), AccountActionListener, Injectable {
|
|||
|
||||
fetching = false
|
||||
|
||||
if (adapter.itemCount == 0) {
|
||||
messageView.show()
|
||||
messageView.setup(
|
||||
R.drawable.elephant_friend_empty,
|
||||
R.string.message_empty,
|
||||
null
|
||||
)
|
||||
} else {
|
||||
messageView.hide()
|
||||
}
|
||||
}
|
||||
|
||||
private fun onFetchAccountsFailure(exception: Exception) {
|
||||
fetching = false
|
||||
Log.e(TAG, "Fetch failure", exception)
|
||||
|
||||
if (adapter.itemCount == 0) {
|
||||
messageView.show()
|
||||
if (exception is IOException) {
|
||||
messageView.setup(R.drawable.elephant_offline, R.string.error_network) {
|
||||
messageView.hide()
|
||||
this.fetchAccounts(null)
|
||||
}
|
||||
} else {
|
||||
messageView.setup(R.drawable.elephant_error, R.string.error_generic) {
|
||||
messageView.hide()
|
||||
this.fetchAccounts(null)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
|
|
|
@ -16,31 +16,19 @@
|
|||
package com.keylesspalace.tusky.fragment;
|
||||
|
||||
import android.app.Activity;
|
||||
import androidx.arch.core.util.Function;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.os.Bundle;
|
||||
import android.preference.PreferenceManager;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import androidx.core.util.Pair;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import androidx.appcompat.content.res.AppCompatResources;
|
||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.recyclerview.widget.SimpleItemAnimator;
|
||||
import android.util.Log;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
import com.keylesspalace.tusky.MainActivity;
|
||||
import com.keylesspalace.tusky.R;
|
||||
import com.keylesspalace.tusky.adapter.NotificationsAdapter;
|
||||
|
@ -64,10 +52,12 @@ import com.keylesspalace.tusky.util.ListUtils;
|
|||
import com.keylesspalace.tusky.util.PairedList;
|
||||
import com.keylesspalace.tusky.util.ThemeUtils;
|
||||
import com.keylesspalace.tusky.util.ViewDataUtils;
|
||||
import com.keylesspalace.tusky.view.BackgroundMessageView;
|
||||
import com.keylesspalace.tusky.view.EndlessOnScrollListener;
|
||||
import com.keylesspalace.tusky.viewdata.NotificationViewData;
|
||||
import com.keylesspalace.tusky.viewdata.StatusViewData;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.math.BigInteger;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
|
@ -76,7 +66,18 @@ import java.util.Objects;
|
|||
|
||||
import javax.inject.Inject;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.arch.core.util.Function;
|
||||
import androidx.core.util.Pair;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
import androidx.recyclerview.widget.DividerItemDecoration;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
import androidx.recyclerview.widget.SimpleItemAnimator;
|
||||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import kotlin.Unit;
|
||||
import kotlin.collections.CollectionsKt;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
|
@ -125,7 +126,7 @@ public class NotificationsFragment extends SFragment implements
|
|||
private SwipeRefreshLayout swipeRefreshLayout;
|
||||
private RecyclerView recyclerView;
|
||||
private ProgressBar progressBar;
|
||||
private TextView nothingMessageView;
|
||||
private BackgroundMessageView statusView;
|
||||
|
||||
private LinearLayoutManager layoutManager;
|
||||
private EndlessOnScrollListener scrollListener;
|
||||
|
@ -177,7 +178,7 @@ public class NotificationsFragment extends SFragment implements
|
|||
swipeRefreshLayout = rootView.findViewById(R.id.swipe_refresh_layout);
|
||||
recyclerView = rootView.findViewById(R.id.recycler_view);
|
||||
progressBar = rootView.findViewById(R.id.progress_bar);
|
||||
nothingMessageView = rootView.findViewById(R.id.nothing_message);
|
||||
statusView = rootView.findViewById(R.id.statusView);
|
||||
|
||||
swipeRefreshLayout.setOnRefreshListener(this);
|
||||
swipeRefreshLayout.setColorSchemeResources(R.color.tusky_blue);
|
||||
|
@ -208,20 +209,12 @@ public class NotificationsFragment extends SFragment implements
|
|||
bottomId = null;
|
||||
|
||||
((SimpleItemAnimator) recyclerView.getItemAnimator()).setSupportsChangeAnimations(false);
|
||||
setupNothingView();
|
||||
|
||||
sendFetchNotificationsRequest(null, null, FetchEnd.BOTTOM, -1);
|
||||
|
||||
return rootView;
|
||||
}
|
||||
|
||||
private void setupNothingView() {
|
||||
Drawable top = AppCompatResources.getDrawable(Objects.requireNonNull(getContext()),
|
||||
R.drawable.elephant_friend_empty);
|
||||
nothingMessageView.setCompoundDrawablesWithIntrinsicBounds(null, top, null, null);
|
||||
nothingMessageView.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
private void handleFavEvent(FavoriteEvent event) {
|
||||
Pair<Integer, Notification> posAndNotification =
|
||||
findReplyPosition(event.getStatusId());
|
||||
|
@ -332,6 +325,8 @@ public class NotificationsFragment extends SFragment implements
|
|||
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
swipeRefreshLayout.setEnabled(true);
|
||||
this.statusView.setVisibility(View.GONE);
|
||||
Either<Placeholder, Notification> first = CollectionsKt.firstOrNull(this.notifications);
|
||||
String topId;
|
||||
if (first != null && first.isRight()) {
|
||||
|
@ -721,9 +716,9 @@ public class NotificationsFragment extends SFragment implements
|
|||
}
|
||||
|
||||
if (notifications.size() == 0 && adapter.getItemCount() == 0) {
|
||||
nothingMessageView.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
nothingMessageView.setVisibility(View.GONE);
|
||||
this.statusView.setVisibility(View.VISIBLE);
|
||||
this.statusView.setup(R.drawable.elephant_friend_empty, R.string.message_empty, null);
|
||||
|
||||
}
|
||||
swipeRefreshLayout.setRefreshing(false);
|
||||
progressBar.setVisibility(View.GONE);
|
||||
|
@ -736,6 +731,22 @@ public class NotificationsFragment extends SFragment implements
|
|||
new NotificationViewData.Placeholder(false);
|
||||
notifications.setPairedItem(position, placeholderVD);
|
||||
adapter.updateItemWithNotify(position, placeholderVD, true);
|
||||
} else if (this.notifications.isEmpty()) {
|
||||
this.statusView.setVisibility(View.VISIBLE);
|
||||
swipeRefreshLayout.setEnabled(false);
|
||||
if (exception instanceof IOException) {
|
||||
this.statusView.setup(R.drawable.elephant_offline, R.string.error_network, __ -> {
|
||||
this.progressBar.setVisibility(View.VISIBLE);
|
||||
this.onRefresh();
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
} else {
|
||||
this.statusView.setup(R.drawable.elephant_error, R.string.error_generic, __ -> {
|
||||
this.progressBar.setVisibility(View.VISIBLE);
|
||||
this.onRefresh();
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
}
|
||||
}
|
||||
Log.e(TAG, "Fetch failure: " + exception.getMessage());
|
||||
progressBar.setVisibility(View.GONE);
|
||||
|
|
|
@ -25,7 +25,6 @@ import android.view.LayoutInflater;
|
|||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ProgressBar;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.google.android.material.floatingactionbutton.FloatingActionButton;
|
||||
import com.google.android.material.tabs.TabLayout;
|
||||
|
@ -56,9 +55,11 @@ import com.keylesspalace.tusky.util.ListUtils;
|
|||
import com.keylesspalace.tusky.util.PairedList;
|
||||
import com.keylesspalace.tusky.util.ThemeUtils;
|
||||
import com.keylesspalace.tusky.util.ViewDataUtils;
|
||||
import com.keylesspalace.tusky.view.BackgroundMessageView;
|
||||
import com.keylesspalace.tusky.view.EndlessOnScrollListener;
|
||||
import com.keylesspalace.tusky.viewdata.StatusViewData;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.math.BigInteger;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
@ -71,7 +72,6 @@ import javax.inject.Inject;
|
|||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
import androidx.appcompat.content.res.AppCompatResources;
|
||||
import androidx.arch.core.util.Function;
|
||||
import androidx.core.util.Pair;
|
||||
import androidx.lifecycle.Lifecycle;
|
||||
|
@ -86,6 +86,7 @@ import androidx.recyclerview.widget.SimpleItemAnimator;
|
|||
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||
import at.connyduck.sparkbutton.helpers.Utils;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import kotlin.Unit;
|
||||
import kotlin.collections.CollectionsKt;
|
||||
import retrofit2.Call;
|
||||
import retrofit2.Callback;
|
||||
|
@ -137,7 +138,7 @@ public class TimelineFragment extends SFragment implements
|
|||
private SwipeRefreshLayout swipeRefreshLayout;
|
||||
private RecyclerView recyclerView;
|
||||
private ProgressBar progressBar;
|
||||
private TextView nothingMessageView;
|
||||
private BackgroundMessageView statusView;
|
||||
|
||||
private TimelineAdapter adapter;
|
||||
private Kind kind;
|
||||
|
@ -220,13 +221,12 @@ public class TimelineFragment extends SFragment implements
|
|||
recyclerView = rootView.findViewById(R.id.recycler_view);
|
||||
swipeRefreshLayout = rootView.findViewById(R.id.swipe_refresh_layout);
|
||||
progressBar = rootView.findViewById(R.id.progress_bar);
|
||||
nothingMessageView = rootView.findViewById(R.id.nothing_message);
|
||||
statusView = rootView.findViewById(R.id.statusView);
|
||||
|
||||
setupSwipeRefreshLayout();
|
||||
setupRecyclerView();
|
||||
updateAdapter();
|
||||
setupTimelinePreferences();
|
||||
setupNothingView();
|
||||
|
||||
if (statuses.isEmpty()) {
|
||||
progressBar.setVisibility(View.VISIBLE);
|
||||
|
@ -376,10 +376,15 @@ public class TimelineFragment extends SFragment implements
|
|||
}
|
||||
}
|
||||
if (statuses.size() == 0) {
|
||||
nothingMessageView.setVisibility(View.VISIBLE);
|
||||
showNothing();
|
||||
}
|
||||
}
|
||||
|
||||
private void showNothing() {
|
||||
statusView.setVisibility(View.VISIBLE);
|
||||
statusView.setup(R.drawable.elephant_friend_empty, R.string.message_empty, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
|
||||
super.onActivityCreated(savedInstanceState);
|
||||
|
@ -502,14 +507,10 @@ public class TimelineFragment extends SFragment implements
|
|||
super.onDestroyView();
|
||||
}
|
||||
|
||||
private void setupNothingView() {
|
||||
Drawable top = AppCompatResources.getDrawable(requireContext(), R.drawable.elephant_friend_empty);
|
||||
nothingMessageView.setCompoundDrawablesWithIntrinsicBounds(null, top, null, null);
|
||||
nothingMessageView.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRefresh() {
|
||||
swipeRefreshLayout.setEnabled(true);
|
||||
this.statusView.setVisibility(View.GONE);
|
||||
if (this.initialUpdateFailed) {
|
||||
updateCurrent();
|
||||
} else {
|
||||
|
@ -863,7 +864,6 @@ public class TimelineFragment extends SFragment implements
|
|||
|
||||
private void sendFetchTimelineRequest(@Nullable String fromId, @Nullable String uptoId,
|
||||
final FetchEnd fetchEnd, final int pos) {
|
||||
|
||||
if (kind == Kind.HOME) {
|
||||
TimelineRequestMode mode;
|
||||
// allow getting old statuses/fallbacks for network only for for bottom loading
|
||||
|
@ -872,13 +872,13 @@ public class TimelineFragment extends SFragment implements
|
|||
} else {
|
||||
mode = TimelineRequestMode.NETWORK;
|
||||
}
|
||||
timelineRepo.getStatuses(fromId, uptoId, LOAD_AT_ONCE, mode)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.as(autoDisposable(from(this, Lifecycle.Event.ON_DESTROY)))
|
||||
.subscribe(
|
||||
(result) -> onFetchTimelineSuccess(result, fetchEnd, pos),
|
||||
(err) -> onFetchTimelineFailure(new Exception(err), fetchEnd, pos)
|
||||
);
|
||||
timelineRepo.getStatuses(fromId, uptoId, LOAD_AT_ONCE, mode)
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.as(autoDisposable(from(this, Lifecycle.Event.ON_DESTROY)))
|
||||
.subscribe(
|
||||
(result) -> onFetchTimelineSuccess(result, fetchEnd, pos),
|
||||
(err) -> onFetchTimelineFailure(new Exception(err), fetchEnd, pos)
|
||||
);
|
||||
} else {
|
||||
Callback<List<Status>> callback = new Callback<List<Status>>() {
|
||||
@Override
|
||||
|
@ -946,10 +946,11 @@ public class TimelineFragment extends SFragment implements
|
|||
updateBottomLoadingState(fetchEnd);
|
||||
progressBar.setVisibility(View.GONE);
|
||||
swipeRefreshLayout.setRefreshing(false);
|
||||
swipeRefreshLayout.setEnabled(true);
|
||||
if (this.statuses.size() == 0) {
|
||||
nothingMessageView.setVisibility(View.VISIBLE);
|
||||
this.showNothing();
|
||||
} else {
|
||||
nothingMessageView.setVisibility(View.GONE);
|
||||
this.statusView.setVisibility(View.GONE);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -968,6 +969,22 @@ public class TimelineFragment extends SFragment implements
|
|||
newViewData = new StatusViewData.Placeholder(placeholder.getId(), false);
|
||||
statuses.setPairedItem(position, newViewData);
|
||||
updateAdapter();
|
||||
} else if (this.statuses.isEmpty()) {
|
||||
swipeRefreshLayout.setEnabled(false);
|
||||
this.statusView.setVisibility(View.VISIBLE);
|
||||
if (exception instanceof IOException) {
|
||||
this.statusView.setup(R.drawable.elephant_offline, R.string.error_network, __ -> {
|
||||
this.progressBar.setVisibility(View.VISIBLE);
|
||||
this.onRefresh();
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
} else {
|
||||
this.statusView.setup(R.drawable.elephant_error, R.string.error_generic, __ -> {
|
||||
this.progressBar.setVisibility(View.VISIBLE);
|
||||
this.onRefresh();
|
||||
return Unit.INSTANCE;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Log.e(TAG, "Fetch Failure: " + exception.getMessage());
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
package com.keylesspalace.tusky.view
|
||||
|
||||
import android.content.Context
|
||||
import android.util.AttributeSet
|
||||
import android.view.Gravity
|
||||
import android.view.View
|
||||
import android.widget.LinearLayout
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.annotation.StringRes
|
||||
import com.keylesspalace.tusky.R
|
||||
import com.keylesspalace.tusky.util.visible
|
||||
import kotlinx.android.synthetic.main.view_background_message.view.*
|
||||
|
||||
|
||||
/**
|
||||
* This view is used for screens with downloadable content which may fail.
|
||||
* Can show an image, text and button below them.
|
||||
*/
|
||||
class BackgroundMessageView @JvmOverloads constructor(
|
||||
context: Context,
|
||||
attrs: AttributeSet? = null,
|
||||
defStyleAttr: Int = 0
|
||||
) : LinearLayout(context, attrs, defStyleAttr) {
|
||||
|
||||
init {
|
||||
View.inflate(context, R.layout.view_background_message, this)
|
||||
gravity = Gravity.CENTER_HORIZONTAL
|
||||
orientation = VERTICAL
|
||||
|
||||
if (isInEditMode) {
|
||||
setup(R.drawable.elephant_offline, R.string.error_network) {}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Setup image, message and button.
|
||||
* If [clickListener] is `null` then the button will be hidden.
|
||||
*/
|
||||
fun setup(@DrawableRes imageRes: Int, @StringRes messageRes: Int,
|
||||
clickListener: ((v: View) -> Unit)?) {
|
||||
messageTextView.setText(messageRes)
|
||||
messageTextView.setCompoundDrawablesWithIntrinsicBounds(0, imageRes, 0, 0)
|
||||
button.setOnClickListener(clickListener)
|
||||
button.visible(clickListener != null)
|
||||
}
|
||||
}
|
129
app/src/main/res/drawable/elephant_error.xml
Normal file
129
app/src/main/res/drawable/elephant_error.xml
Normal file
File diff suppressed because one or more lines are too long
|
@ -3,92 +3,111 @@
|
|||
android:height="159dp"
|
||||
android:viewportWidth="510"
|
||||
android:viewportHeight="580">
|
||||
<path
|
||||
android:pathData="M394.28,157.1c-7.35,-6.5 -13.58,-14.2 -15.95,-23.65 -10.08,-40.07 20.35,-70.8 51.32,-74.1 24.2,-2.57 47.07,6.67 60.52,22.02 27.04,30.86 16.45,74.4 -14.43,91.4 -19.06,10.46 -40.3,3.45 -46.95,3.2 -3.42,-0.13 -25.6,9.5 -32.5,13.88 -1.68,1.07 -3.52,1.98 -5.42,0.56 -2,-1.47 -1.18,-3.47 -0.7,-5.36 0.5,-2.05 6.17,-26.13 4.1,-27.95z"
|
||||
android:fillColor="@color/elephant_friend_accent_color"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M415.6,303.76c-1.72,1.5 -3.38,3.05 -5.08,4.58 -3.58,3.24 -14.12,2.94 -17.7,-0.44 -2.15,-2.03 -1.74,-3.02 1.04,-3.88 3.88,-1.2 7.66,-2.73 11.47,-4.17 15.35,-5.8 24.8,-17.05 28.94,-32.6 2.37,-8.9 -1.8,-13.55 -11,-13.94 -7.06,-0.3 -14,0.78 -20.95,1.45 -9.33,0.9 -18.55,0.57 -27.53,-2.26 -7.48,-2.37 -10.93,-7.27 -11.57,-14.84 -1.13,-13.3 -4.25,-33.32 -2.67,-39.85 1.52,-6.28 7,-20.6 5.78,-30.26 -1.18,-9.38 -4.67,-14.27 -7.74,-19.85 -3.2,-5.83 -5,-12.75 -6.97,-18.9 -5.04,-15.65 -11.93,-30.6 -23.7,-42.74 -7.07,-7.28 -15.15,-13.3 -22.8,-19.87 -5.32,-4.6 -11.2,-7.82 -18,-9.3 -3.1,-0.65 -4.23,-1.47 -3.4,-5.17 2.3,-10.25 -3,-16.46 -13.4,-16.5 -1.46,-0.02 -2.94,-0.08 -4.4,0.1 -3.8,0.48 -5.26,-0.44 -4.23,-4.78 2.02,-8.56 -4.18,-16.05 -12.95,-16.12 -6.58,-0.04 -13.02,0.92 -19.02,3.7 -2.42,1.12 -3.52,1.1 -4.72,-1.66 -2.43,-5.58 -6.8,-8.86 -13.04,-9.75 -12.25,-1.75 -22.9,1.67 -32.07,9.7 -9.78,8.53 -16.37,19.45 -21.2,31.25 -4.1,10.04 -9.46,18.37 -19.75,22.88 -2.8,1.23 -5.35,3.12 -7.84,4.95 -20.45,15 -36.96,33.6 -50.95,54.7 -9.9,14.93 -18.4,30.2 -22.3,47.94 -2.72,12.42 -5.2,24.87 -7.12,37.4 -2,12.93 -1.06,25.64 3.62,37.97 2.12,5.62 5.57,8.77 11.06,8.6 4.34,-0.16 5.3,1.77 6.14,5.52 2.27,9.9 5.9,19.05 17.13,22.2 1.76,0.5 2.48,1.3 0.87,3.05 -5.94,6.5 -11.04,13.64 -16.03,20.9 -10.44,15.25 -17.88,31.82 -21.53,49.87 -1.94,9.55 -2.54,19.4 1.98,28.76 1.06,2.18 1.1,4.64 1,7.16 -0.87,19.15 7.85,33.9 21.43,46.83 -7.8,4.47 -26.34,3.1 -32.96,-2.53 -1.27,-1.08 -2.46,-2.18 -1.26,-4.12 4.77,-7.68 1.6,-14 -3.58,-19.87 -5.1,-5.77 -9.94,-5.4 -14.1,1.15 -1.15,1.8 -2.08,2.9 -4.55,2.6 -5.7,-0.7 -9.83,2.58 -12.45,7.02 -2.95,4.97 -3.6,10.74 0.2,15.65 2.4,3.1 3.04,5.15 0.5,8.66 -3.02,4.2 -2.42,10.07 0.2,12.76 3.56,3.66 9.77,4.7 14.45,2.76 7.66,-3.16 5.8,-8.13 7.66,-8.3 1.86,-0.16 3.38,3.87 11.95,7.48 17.15,7.23 35.34,7.46 52.57,-1.77 2.18,-1.17 3.87,-1 4.3,1.77 0.73,4.83 1.38,9.6 0.26,14.54 -2.64,11.65 -2.5,23.3 1.52,34.64 1.13,3.2 0.5,4.16 -2.76,4.9 -9.27,2.17 -28.52,13.96 -20.37,24.95 12.32,16.6 64.27,23.74 88.46,25.13 17.28,1 80.47,1.1 98.78,-0.78 54.86,-5.65 104.97,-17.47 110.52,-31.5 5.54,-14.06 -18.83,-24.9 -24.63,-25.7 -3.63,-0.5 -3.84,-2.1 -3.06,-4.9 0.93,-3.28 1.96,-6.56 2.6,-9.9 2.88,-14.93 3.25,-30.08 3.88,-45.2 0.08,-1.93 -0.33,-3.98 1.2,-5.56 7.33,-7.6 11.5,-16.9 14.65,-26.76 0.9,-2.82 2.78,-4.44 5.44,-5.06 8.8,-2.05 16.87,-5.88 24.88,-9.88 5.4,-2.7 10.54,-5.68 14.96,-9.98 11.36,-11.03 10.58,-23.68 5.24,-36.94 -1.17,-2.9 -1.2,-5.5 -0.62,-8.5 1.65,-8.72 4.06,-16.95 9.53,-24.26 4.17,-5.6 6.2,-11.95 4.07,-19.32 -2.68,-9.35 -10.94,-12.2 -18.26,-5.84zM245.8,512.6c-3.24,-0.14 -27.22,-0.8 -39.35,0.44 -2.15,0.22 -3.5,-0.3 -3.46,-2.75 0.1,-5.04 -0.16,-10.08 1.02,-15.05 0.55,-2.33 1.74,-3.4 4.08,-3.14 12.18,1.3 24.3,1.13 36.34,-1.43 2.5,-0.53 3.15,0.9 3.32,2.95 0.4,5.18 0.75,10.37 1.3,15.54 0.26,2.6 -0.7,3.54 -3.25,3.43z"
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M279.22,471.42c-10.37,3.92 -21.02,7 -31.83,9.33 -14.18,3.05 -28.5,4.7 -42.93,1.27 -5.1,-1.22 -6.84,0.05 -7.17,5.5 -0.5,8.62 -0.68,17.25 -0.92,25.87 -0.07,2.6 -0.5,5.14 -1.2,7.66 -0.4,1.4 -0.9,2.16 -2.47,2.5 -9.43,2.06 -13.78,7.97 -13.03,17.65 0.12,1.5 0.77,2.9 -1.3,3.54 -2.36,0.73 -4.25,1.83 -5.14,-2.2 -1.5,-6.9 -6.23,-10.83 -11.5,-10.77 -5.86,0.08 -9.53,3.6 -10.55,10.03 -0.24,1.52 0.85,4.24 -2.22,3.76 -2.34,-0.36 -5.53,-0.18 -5.45,-4.13 0.06,-2.64 -0.68,-5.14 -1.8,-7.54 -1.95,-4.13 -4.66,-7.13 -9.7,-6.64 -4.93,0.47 -9.5,1.56 -10.54,7.5 -0.5,2.9 -1.83,2.98 -3.95,1.46 -5.93,-4.24 -8.36,-10.68 -10.12,-17.25 -3.76,-14.07 -2.06,-28.3 1.36,-42.02 2.3,-9.23 -2.2,-14.2 -7.85,-19.44 -1.4,-1.28 -2.67,-1.77 -4.13,-0.13 -5.28,5.96 -12.45,8.2 -19.9,8.84 -8.02,0.72 -16.07,1.53 -24.25,-0.27 -6.38,-1.4 -11.9,-4.15 -17.35,-7.4 -3.48,-2.1 -4.26,-5.15 -2.8,-8.83 1.38,-3.48 4.4,-4.22 7.3,-1.8 11.86,9.9 28.6,11.16 42.12,3.2 3.7,-2.2 3.57,-4.12 0.4,-7.03 -10.24,-9.45 -17.1,-20.83 -19.24,-35.38 3.4,1.25 5.04,4.06 7.54,5.66 14.7,9.48 30.9,15.2 48.3,14.54 13.2,-0.52 29.47,-8.72 42.15,-28.47 7.02,-10.93 11.06,-22.32 15.47,-33.98 1.04,-2.74 1.8,-5.58 2.8,-8.33 1.6,-4.3 1.66,-8.3 -2.84,-12.08 -1.7,8.8 -5.64,16.5 -8.8,24.53 -5.66,14.4 -11.54,28.77 -22.86,39.94 -1.1,1.1 -3.88,-1.6 -3.95,-3.93 3.65,-4.67 4.83,-9.88 2.3,-15.56 -1.97,-4.45 -5.16,-8.2 -10.13,-7.87 -7.44,-0.32 -11.44,10.3 -12.8,11.2 -1.86,-0.5 -2.58,-0.82 -2.46,-1.82 0.4,-3.55 2.6,-8 2.08,-11.6 -0.92,-6.28 -4.25,-10.2 -9.75,-11.28 -5.4,-1.07 -11.47,1.53 -14.34,6.26 -0.84,1.38 -1.52,2.9 -2.1,4.4 -0.53,1.48 -0.37,3.35 -3,2.56 -2.2,-0.66 -2.6,-1.76 -2.32,-3.95 0.67,-5.1 0.43,-10.17 -3.16,-14.32 -3.74,-4.32 -8.46,-5.23 -13.74,-3.3 -5.14,1.87 -9.4,8.73 -9.46,13.83 -0.03,3.12 -1.9,3.1 -3.72,3.2 -2.9,0.15 -1.8,-2 -1.6,-3.46 1.55,-12.6 6.18,-23.93 12.3,-35.16 7.56,-13.88 15.37,-27.5 24.33,-40.52 3.64,-5.3 7.7,-10 13.6,-12.97 2.14,-1.1 3.23,-1.07 4.94,0.74 9.82,10.4 29.58,8.63 38.24,-2.8 7.92,-10.48 14.4,-21.63 18.4,-34.13 3,-9.4 3,-19.24 3.22,-29 0.1,-4.7 0.27,-9.42 -0.46,-14.13 -0.26,-1.68 -0.9,-3.1 -1.6,-4.55 -0.45,-0.93 -1.17,-1.63 -2.3,-1.46 -1.43,0.23 -1.72,1.4 -1.7,2.58 0.16,8.32 -1.25,16.54 -1.64,24.8 -0.65,13.9 -6.48,26.08 -11.67,38.5 -1.6,3.86 -4.14,7.36 -6.28,11 -3.85,6.6 -13.65,11.12 -21.3,10.03 -3.9,-0.56 -6.38,-2.9 -8.54,-5.92 -5.6,-7.9 -5.98,-8 -14.55,-3.3 -3.66,2 -7.37,3.35 -11.6,3.13 -3.42,-0.2 -5.72,-1.64 -7.1,-4.96 -2.3,-5.65 -3.1,-11.6 -4.16,-17.53 -1.06,-5.9 -2.2,-6.55 -7.9,-5.17 -8.1,1.96 -11.05,0.07 -11.63,-8.2 -2.78,-39.67 3.82,-77.05 25.98,-111.02 12.12,-18.56 25.57,-35.9 43.66,-48.8 6.42,-4.56 12.15,-10.13 19.2,-13.87 4.24,-2.26 7.54,-5.7 9.85,-9.94 4.18,-7.73 8.3,-15.5 12.37,-23.28 4.6,-8.78 10.3,-16.5 19.04,-21.67 4.9,-2.9 10.07,-4.14 15.75,-4.52 9.55,-0.65 15.02,7.32 11.64,16.74 -0.55,1.54 -1.87,3.07 -0.17,4.32 1.53,1.1 2.7,-0.47 3.7,-1.48 5.87,-5.86 13.33,-8.38 21.15,-10.25 4.28,-1 8.1,-0.6 11.18,2.83 2.75,3.05 3.85,6.22 0.05,9.2 -2.7,2.1 -3.02,5.35 -4.1,8.1 -1.2,3.07 1.36,3.2 3.36,2.43 4.5,-1.76 9.2,-2.1 13.92,-2.26 3.64,-0.13 6.83,1.14 8.6,4.53 1.12,2.13 -2.03,7.8 -2.55,8.6 -2.68,4.28 -2.55,4.38 2.4,4.88 11.46,1.17 21.7,4.95 30.23,13.15 6.1,5.85 12.9,10.9 18.8,17.05 9.33,9.76 15.03,21.52 19.55,34.02 1.2,3.36 2.54,6.7 3.72,10.07 0.47,1.34 1.2,3.18 -1.25,3.23 -7.78,0.17 -10.77,6.4 -12.8,11.83 -6.8,18.36 -2.75,43.02 18.2,53.4 1.64,0.8 1.97,1.82 2.15,3.37 1.82,15.66 3.45,31.35 5.6,46.97 3.02,21.67 11.1,41.1 27.12,56.53 5.08,4.9 11.43,6.24 18.6,6.8 6.46,0.5 9.8,-2.7 13.6,-6.3 2.44,-2.3 4.12,-1.64 5.9,0.86 2.92,4.14 3.55,8.9 0.06,13.13 -6.72,8.2 -9.5,17.6 -10.53,27.86 -0.34,3.43 -1.5,6.7 -3.45,9.57 -5.98,8.87 -15.2,8.46 -19.86,-1.12 -2.25,-4.6 -5.2,-5.67 -10.27,-5.96 -19.05,-1.08 -38.06,-3.04 -54.03,-15.28 -1.02,-0.8 -2,-1.65 -3.35,-2.8 2.26,-1.4 4.25,-2.72 6.3,-3.93 6.63,-3.9 10.87,-9.54 12.57,-17.1 1.08,-4.8 -1.28,-8.54 -6.13,-9.8 -5.72,-1.48 -11.4,-0.1 -16.93,0.72 -18.5,2.75 -32.6,-4.43 -44.13,-18.2 -6.16,-7.37 -10.08,-15.85 -12.8,-25 -0.55,-1.9 -0.16,-3.45 0.5,-5.14 3.7,-9.7 -2.85,-16.26 -9.9,-20.88 -1.56,-1.02 -3.48,-0.86 -5.2,-0.12 -1.25,0.54 -2.23,1.47 -2.18,2.96 0.04,1.4 1.12,1.8 2.3,2.1 4.33,1.15 6.5,4.8 8.62,8.14 1.95,3.1 0.45,5.02 -3.23,4.96 -21.47,-0.33 -39.34,13.85 -42.72,33.88 -1.03,6.08 0.26,11.96 1.48,17.85 -3.6,2.1 -6.02,1.48 -10.24,-2.67 -2.8,-3.36 -7.06,-4.18 -11,-6.62 1.13,3.12 4.65,3.44 5.06,6.34 0.15,1.66 -0.32,3.14 -0.95,4.68 -2,4.92 -0.93,7.65 3.9,10.42 6.57,3.78 13.94,5.37 21.23,6.63 5.6,0.97 10.93,2.93 16.56,3.6 19.9,10.77 41.28,15.3 63.8,14.66 4.28,-0.12 8.17,-2.1 12.23,-3.25 2.4,-0.7 4.1,-0.62 6.13,1.18 9.17,8.16 19.8,13.5 31.98,15.55 1.77,0.3 3.5,0.77 5.27,1.05 3.67,0.57 5.1,2.5 5.96,6.33 1.93,8.66 3,17.3 2.7,26.13 -1.02,23.5 -12.04,42.17 -28.75,57.7 -5.67,5.26 -13.34,8 -20.2,11.65 -5.68,3.04 -11.88,5.26 -17.85,7.84 -5.6,2.4 -11.3,3.76 -17.4,3.02z"
|
||||
android:fillColor="@color/elephant_friend_body_color"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M279.22,471.42c10.28,-2.2 31,-8.76 39.53,-13.88 15.54,-9.33 30.38,-26.6 38.56,-45.9 2.8,-6.6 4.07,-13.63 6.14,-20.42 1.6,8.36 -0.26,16.5 -1.88,24.6 -2.68,13.42 -6.86,26.16 -18.13,35.28 -1.77,1.43 -4.2,3.32 -2.35,6.14 1.8,2.72 4.05,0.22 6.67,-0.2 -0.63,14.65 -0.92,29.07 -5.2,43.06 -0.4,1.3 -1.17,2.33 -2.4,2.93 -4.9,2.4 -6.57,6.43 -6.3,11.65 0.1,1.32 0.52,3.26 -1.26,3.83 -1.5,0.48 -2.1,-1.28 -3.03,-2.1 -8.05,-6.85 -17.14,-3.58 -19.1,7.03 -0.4,2.23 -1.14,3.6 -3.45,3.97 -2.78,0.45 -2.6,-1.84 -3.18,-3.4 -2.16,-5.7 -6.1,-8.9 -12.32,-9.58 -6.35,-0.7 -9.8,2.8 -12.1,7.83 -1.3,2.84 -3.1,3.34 -5.83,2.87 -11.17,-1.92 -13.98,-5.16 -14.82,-16.36 -0.4,-5.35 -1.23,-10.68 -2.2,-15.95 -0.7,-4.03 0.65,-6.12 4.68,-6.8 5.2,-0.85 9.8,-3.38 14.57,-5.45 4.48,-1.94 5.6,-5.36 3.4,-9.13z"
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_2"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M249.68,262.06c3.5,-0.82 4.93,1.67 5.86,4.97 3.6,12.78 10.14,23.67 20.14,32.58 14,12.5 30.04,16.68 48.3,13.13 2.23,-0.44 4.53,-0.58 6.8,-0.57 4.1,0.04 5.33,2.14 3,5.52 -4,5.78 -8.6,10.78 -15.63,13.23 -7.17,2.52 -13.93,5.86 -21.84,6.23 -16.13,0.74 -32.02,-1.26 -46.68,-7.43 -12,-5.05 -23.18,-12.57 -32.14,-22.42 -3.85,-4.23 -2.73,-10.12 -2.02,-15.4 2.15,-15.97 17.82,-29.77 34.22,-29.82z"
|
||||
android:fillColor="@color/elephant_friend_light_color_2"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M386.24,295.4c-3.06,0.45 -4.2,-0.34 -5.38,-1.74 -8.34,-10 -11.94,-21.93 -14.35,-34.37 -0.4,-2.1 0.76,-2.4 2.2,-1.6 9.53,5.12 19.88,5.2 30.3,5.42 5.46,0.12 10.57,-1.34 15.8,-2.42 1.9,-0.4 3.78,-1.05 5.7,-1.24 6.18,-0.6 9.65,3.83 7.25,9.58 -3.34,8 -8.94,14.28 -16.45,18.6 -8.12,4.7 -17.02,7.06 -25.06,7.75z"
|
||||
android:fillColor="@color/elephant_friend_light_color_1"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M415.42,367.63c3.53,7.75 3.7,14.84 -1.1,21.63 -1.47,2.08 -2.6,3.8 -4.82,0.34 -2.13,-3.3 -5.82,-5.17 -9.16,-7.13 -3.4,-2 -7.63,-0.44 -10.03,3.4 -3.4,5.4 -3.34,11.18 -0.97,16.85 1.1,2.62 0.66,3.87 -1.82,4.83 -3.94,1.53 -7.83,3.18 -11.77,4.7 -3.52,1.37 -4.58,-0.35 -3.97,-3.52 0.7,-3.68 1.24,-7.33 1.4,-11.1 0.43,-10.68 -0.85,-21.07 -3.92,-31.3 -1.53,-5.1 -0.83,-5.73 4.46,-5 1.3,0.2 2.6,0.54 3.87,0.44 4.14,-0.33 6.56,0.94 8.54,5.16 4.2,8.94 16.8,10.77 25.28,4.26 1.28,-1 2.43,-2.14 4.04,-3.57z"
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_2"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M235.36,329.56c-4.9,2.3 -9.54,-0.06 -14.25,-0.8 -6.7,-1.02 -13.33,-2.44 -19.7,-4.93 -12,-4.72 -13.4,-7.95 -8.3,-19.3 2.5,-2.93 6.32,-0.56 9.12,-2.3 1.8,3.48 5.23,4.16 8.6,4.97 4.9,8.3 12.62,13.74 20.15,19.33 1.43,1.06 2.93,2.03 4.4,3.03z"
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_1"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M29.1,436.15c0.18,-2.77 -0.3,-6.05 1.6,-8.98 1.46,-2.3 2.84,-3.05 4.6,-0.17 3.4,5.6 1.73,11.95 -4,15.13 -5.14,2.86 -4.4,7.85 -4.28,12.5 0.12,4.1 -2.63,8.4 -6.48,9.67 -3.95,1.3 -5.53,0.05 -5.24,-4.04 0.23,-3.2 1.85,-5.46 4.5,-7.1 1.9,-1.16 2.7,-2.1 0.24,-3.82 -1.63,-1.15 -2.64,-3.12 -4.28,-4.5 -2.75,-2.34 -2.9,-7.88 -0.46,-9.67 3.34,-2.43 6.07,-1.22 8.24,1.92 0.37,0.52 2.8,4.4 4.6,3.72 2.06,-0.77 0.83,-2.63 0.96,-4.67z"
|
||||
android:fillColor="#7F90A4"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M352.32,197.8c-15.1,-5.94 -17.93,-25.7 -15.68,-37.5 1,-5.23 1.8,-10.65 5.4,-14.95 2.45,-2.9 5.87,-3.17 7.35,-0.58 0.72,1.27 1.88,3.03 -1.13,3.43 -2.77,0.37 -3.95,2.48 -4.73,4.95 -3.13,9.84 -1.9,26.38 2.35,32.03 1.93,2.58 3.1,4.33 6.02,7.17 2.7,2.62 2.47,2.93 0.4,5.46z"
|
||||
android:fillColor="@color/elephant_friend_light_color_2"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M113.84,383.72c0.02,6.36 -0.75,6.95 -6.06,5.1 -2.14,-0.74 -4.16,-2.02 -6.35,-2.4 -4.78,-0.8 -3.77,-2.96 -1.96,-5.94 2.34,-3.86 5.7,-5.3 9.85,-4.28 4.17,1.03 4.24,4.8 4.52,7.52zM67.34,378.3c-2.27,-0.08 -0.84,-9.75 3.55,-11.8 4.3,-2 9.2,-0.32 11.33,3.1 1.98,3.2 1.1,11.72 -1.73,10.7 -2.27,-0.85 -7.85,-1.78 -13.16,-2zM393.28,396.27c0.18,-3.52 0.04,-7 3.72,-8.44 1.34,-0.52 8.55,7.1 8.54,8.64 -0.02,1.2 -8.14,7.03 -9.65,6.48 -3.38,-1.2 -1.88,-4.57 -2.62,-6.68zM137.77,397.7c-0.37,2.2 -1.43,4.63 -3.94,6.13 -0.57,0.34 -8.98,-6.25 -9,-6.88 -0.1,-2.22 5.47,-7.36 7.8,-7.23 2.6,0.14 5.22,3.88 5.14,7.98zM161.73,546.88c-2.15,-0.78 -6.73,1.67 -6.56,-3.93 0.13,-4.1 3.75,-7.33 7.26,-6.8 3.2,0.5 7.03,6.24 6.22,9.37 -0.4,1.56 -0.4,1.56 -6.92,1.36zM131.66,531.32c4.36,-0.1 8.77,6.83 6.85,10.74 -0.74,1.53 -1.95,0.9 -2.9,0.6 -2.02,-0.6 -3.97,-1.46 -5.94,-2.2 -2.3,-0.86 -5.52,-0.77 -4.6,-4.76 0.8,-3.6 3.42,-4.4 6.6,-4.38zM293.12,519.15c3.6,1.2 5.8,5.53 5.1,7.66 -0.8,2.48 -6.9,1.98 -8.64,1.9 -2.1,-0.13 -5.96,-1.66 -6.4,-3.37 -0.43,-1.6 0.95,-3.04 2.1,-4.16 1.38,-1.32 4.17,-3.24 7.84,-2.02zM320.45,517.26c2.46,0.8 5.4,1.4 5.67,4.47 0.25,3 -2.85,2.34 -4.63,3.04 -0.45,0.18 -0.92,0.35 -1.4,0.42 -1.84,0.28 -3.83,1.83 -5.5,0.35 -1.15,-1 -0.5,-2.84 0.3,-4.04 1.3,-2 2.78,-3.97 5.55,-4.24zM190.93,529.32c1.58,-0.08 2.62,0.53 2.2,2.25 -0.36,1.4 -0.93,2.77 -1.58,4.07 -1.38,2.76 -2.86,5.63 -6.32,6.02 -1.1,0.13 -0.9,-1.46 -0.83,-2.38 0.4,-4.83 3.67,-9.8 6.53,-9.96zM339.9,507.95c0.86,3.34 -0.14,4.58 -1.5,5.93 -1.1,-2.24 0.18,-3.46 1.5,-5.93z"
|
||||
android:fillColor="@color/elephant_friend_light_color_1"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M449.67,120.45c-0.56,6.07 -4.03,9.7 -8.44,9.42 -4.9,-0.32 -7.8,-3.82 -7.27,-8.78 0.45,-4.3 5.1,-8.1 9.58,-7.8 4.93,0.3 6.04,3.64 6.13,7.15zM479.33,123.64c-0.57,6.07 -4.03,9.7 -8.44,9.42 -4.9,-0.32 -7.8,-3.82 -7.28,-8.78 0.45,-4.28 5.1,-8.08 9.58,-7.8 4.93,0.32 6.04,3.65 6.13,7.16zM416.6,116.9c-0.58,6.06 -4.04,9.7 -8.45,9.4 -4.9,-0.3 -7.8,-3.8 -7.27,-8.77 0.45,-4.28 5.1,-8.08 9.58,-7.8 4.93,0.32 6.03,3.65 6.13,7.16z"
|
||||
android:fillColor="@color/elephant_friend_light_color_2"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M195.24,152.74c7.74,-11.83 18.38,-18.1 33.3,-15.86 16.5,2.5 27.95,10.5 30.4,25.3 3.8,22.83 -9.52,47.04 -37.8,49.3 -15,1.18 -27.8,-6.6 -33.2,-22.3 -5.08,-14.78 1.8,-28.04 7.3,-36.44zM233.13,336.23c-3.38,3.85 -4.73,8.13 -5.24,12.7 -0.2,1.73 -0.88,3.85 0.95,4.96 1.95,1.18 4.04,0.58 5.93,-0.66 2.84,-1.88 5.68,-3.77 8.6,-5.5 2.82,-1.66 4.3,-1.22 3.7,2.52 -1.02,6.47 0.4,12.64 2.83,18.6 2,4.88 6.94,5.66 10.4,1.6 2.55,-3 4.53,-6.36 6.14,-9.95 1.73,-3.87 4.12,-5.4 8.46,-3.1 4.98,2.6 6.83,1.5 8.35,-4.05 0.38,-1.4 0.65,-2.85 1,-4.27 0.34,-1.35 0,-3.3 1.95,-3.48 1.74,-0.15 3.12,1.1 3.77,2.64 2.08,4.84 1.66,9.83 -1.26,13.96 -2.9,4.1 -7.3,7 -12.64,5.4 -3.4,-1.03 -4.6,0.33 -6.08,2.78 -2.34,3.86 -4.54,8.03 -9.38,9.4 -9.73,2.77 -16.5,-1.07 -19.34,-10.9 -0.3,-1.1 -0.63,-2.2 -0.8,-3.33 -0.98,-6.03 -0.97,-6.04 -7.13,-4.43 -6.8,1.78 -11.85,-2.22 -11.2,-9.22 0.3,-3.02 1.43,-5.98 2.4,-8.9 0.54,-1.7 1.44,-3.3 2.33,-4.84 1.27,-2.2 3.04,-3.38 6.27,-1.93zM396.93,346.85c1.1,-8.24 4.9,-16.17 11.23,-22.87 1.35,-1.42 3.2,-2.32 5.2,-2.45 2.95,-0.2 4.2,1.35 3.64,4.25 -0.12,0.6 -0.54,1.17 -0.88,1.72 -3.8,6.24 -7.34,12.55 -6.02,20.32 0.07,0.45 -0.16,0.95 -0.25,1.43 -0.96,4.73 -3.7,7.37 -7.28,7 -3.46,-0.34 -5.76,-3.8 -5.64,-9.4z"
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M339.6,394.63c-2.8,5.76 -5.05,12.45 -11.24,16.56 -1.6,1.04 -3.35,1.4 -4.9,-0.13 -1.4,-1.35 -1.2,-3.02 -0.4,-4.5 2.6,-4.88 5.2,-9.75 8,-14.5 1.23,-2.06 3.3,-3.22 5.84,-2.32 1.9,0.67 2.56,2.35 2.7,4.88zM99.37,195.3c0,5.1 -0.74,9.43 -1.8,13.7 -0.7,2.8 -2.47,4.76 -5.65,4 -3.27,-0.8 -3.62,-3.4 -2.94,-6.2 0.95,-3.96 1.85,-7.93 3.04,-11.82 0.76,-2.5 1,-6.24 4.72,-5.75 4,0.53 2.55,4.16 2.63,6.07zM306.3,404.28c-0.4,0.8 -0.8,2.3 -1.68,3.38 -2.87,3.52 -5.74,7.07 -8.97,10.24 -1.6,1.6 -4,3.56 -6.38,1.17 -2.1,-2.1 -0.64,-4.1 0.9,-5.97 3.17,-3.88 5.07,-8.74 9.14,-11.93 1.47,-1.13 3,-2.12 4.9,-1.1 1.4,0.76 2.08,2 2.1,4.2z"
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_1"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M348.56,246.42c0.34,0.05 1.82,0.1 3.2,0.53 1.93,0.6 2.9,2.2 2.56,4.15 -0.4,2.17 -2.1,2.8 -4.1,2.32 -5,-1.2 -9.1,1.4 -13.42,3.06 -1.2,0.47 -2.28,1.25 -3.46,1.75 -1.94,0.83 -3.96,1 -5.14,-1.1 -1.27,-2.24 0.28,-3.54 2.07,-4.67 5.27,-3.32 10.78,-5.92 18.3,-6.04z"
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M93.92,356.84c0.62,-4.05 2.12,-7.92 4.52,-11.26 2.05,-2.86 13.07,-8.75 11,-0.02 -0.9,3.88 -13.95,23.17 -15.52,11.28 0.87,-5.7 0.2,1.54 0,0zM293.28,451.9c-2.74,-0.2 -4.53,-0.6 -5.22,-2.56 -0.7,-1.95 0.73,-2.94 2.15,-3.84 4.1,-2.6 7.46,-6.24 11.86,-8.45 2.12,-1.06 3.98,-1.3 5.73,0.54 1.98,2.07 0.75,3.87 -0.58,5.6 -3.77,4.85 -9.4,6.57 -13.94,8.7zM157.6,506.77c-0.1,0.93 -0.1,2.24 -0.4,3.5 -0.5,2.28 -1.95,3.8 -4.36,3.85 -2.33,0.07 -3.6,-1.68 -4,-3.62 -1.13,-5.65 0,-11.33 1.05,-16.8 0.6,-3.12 3.28,-2.43 4.95,0.03 2.62,3.85 2.18,8.37 2.76,13.04zM121.98,171.47c0,4.06 -1.3,8 -1.03,12.08 0.15,2.4 -1.83,3.8 -4.16,3.9 -2.48,0.1 -3.32,-1.92 -3.55,-3.9 -0.8,-6.62 1.78,-12.7 3.4,-18.92 0.26,-0.94 1.18,-1.55 2.28,-1.5 1.32,0.1 2.18,0.96 2.38,2.1 0.4,2.05 0.47,4.16 0.68,6.24zM127.7,234.96c-0.1,1.63 -0.28,4.04 -0.38,6.46 -0.1,2.66 -1.78,3.8 -4.1,3.78 -2.47,-0.03 -4.1,-1.8 -3.97,-4.06 0.28,-4.8 0.3,-9.73 3.2,-13.94 0.83,-1.2 1.7,-2.65 3.37,-2.32 2.14,0.43 1.78,2.4 1.85,3.96 0.1,1.77 0.02,3.55 0.02,6.12zM177.7,488.12c-0.52,3.22 0.87,8.16 -4.78,7.6 -5.6,-0.57 -4,-5.25 -3.75,-8.8 0.15,-2.08 0.56,-4.17 1.07,-6.2 0.4,-1.62 1.35,-3 3.28,-3.08 1.93,-0.07 2.9,1.24 3.5,2.83 0.92,2.47 1.26,5 0.7,7.65zM272.2,445.54c-0.3,0.63 -0.48,1.5 -1,2.03 -4.33,4.35 -10.06,5.68 -15.74,6.93 -1.43,0.32 -2.77,-0.9 -3.1,-2.53 -0.34,-1.53 0.66,-2.5 1.86,-3.07 4.22,-2.06 8.47,-3.98 12.57,-6.3 2.18,-1.24 4.85,-0.65 5.4,2.94zM102.32,145.58c1.64,-5.07 4.9,-9.88 8.67,-14.37 0.64,-0.77 1.66,-1 2.65,-0.48 1,0.53 1.38,1.55 1.1,2.5 -1.63,5.42 -3.5,10.8 -6.2,15.78 -0.85,1.57 -2.84,1.46 -4.45,0.88 -1.67,-0.62 -1.83,-2.1 -1.78,-4.3z"
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_1"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M144.84,486.52c0,1.3 0.1,2.94 -0.03,4.55 -0.17,2.34 -1.25,4.17 -3.8,4.27 -2.65,0.1 -4.1,-2 -4,-4.07 0.23,-4.34 0,-8.8 1.37,-13.02 0.5,-1.5 1.36,-2.67 3.15,-2.47 1.52,0.17 2.25,1.36 2.45,2.68 0.4,2.56 0.57,5.15 0.87,8.06z"
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_1"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M81.02,341.44c1.3,-3.72 4.4,-17.26 11.34,-12.86 7.63,4.85 -12.85,22.17 -11.34,12.87 1.3,-3.7 -0.2,1.3 0,0zM107.94,313.03c0.88,-3.87 1.65,-7.9 4.5,-10.98 1.52,-1.63 3.36,-2.55 5.6,-1.08 2.35,1.54 1.9,3.58 0.87,5.53 -1.56,2.98 -3.24,5.9 -5.06,8.75 -0.9,1.44 -2.4,2.25 -4.18,1.52 -1.6,-0.66 -1.77,-2.14 -1.72,-3.74z"
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_1"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M342.43,271.95c-1.83,0 -3.2,0 -3.8,-1.48 -0.53,-1.25 0.2,-2.2 1.04,-3 4.12,-3.8 9.28,-5.16 14.6,-5.7 2.03,-0.2 4.25,0.87 4.33,3.64 0.06,2.56 -1.9,2.55 -3.7,2.87 -4.44,0.8 -8.7,2.26 -12.47,3.68zM202.22,302.22c-1.4,7.32 -5.82,2.58 -9.13,2.3 -2.34,-1.72 -4.7,-3.4 -6.98,-5.2 -1.35,-1.07 -2.27,-2.5 -1.12,-4.2 1,-1.46 2.65,-1.47 3.9,-0.6 4.2,2.98 9.44,4.16 13.32,7.7z"
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M356.13,286.15c-2.13,-0.24 -5.3,0.83 -5.03,-2.32 0.3,-3.4 3.6,-4.4 6.62,-4.34 2.07,0.03 4.6,0.8 4.2,3.6 -0.5,3.4 -3.13,3.7 -5.8,3.05z"
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M249.37,187.45c-7.92,14.6 -25.8,23.77 -44.07,13.36 -8.45,-4.8 -11.9,-14.85 -11.95,-23.45 -0.1,-12.7 6.15,-22.22 16.36,-30.07 10.78,-8.3 34.38,-4.27 40.84,10.76 2.74,6.4 3.9,20.05 -1.17,29.4z"
|
||||
android:fillColor="@color/elephant_friend_light_color_2"
|
||||
android:fillType="evenOdd"/>
|
||||
<path
|
||||
android:pathData="M245.26,175.92c0.12,9.8 -6.64,19.24 -18.34,21.65 -12.87,2.66 -23.04,-5.27 -25.9,-15.54 -2.43,-8.64 3.8,-20.3 9.64,-25.97 6.9,-6.73 18.22,-7.67 25.9,-2.63 8.8,5.8 8.6,14.37 8.7,22.5z"
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"/>
|
||||
<!-- Speech bubble background -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_accent_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M394.28,157.1c-7.35,-6.5 -13.58,-14.2 -15.95,-23.65 -10.08,-40.07 20.35,-70.8 51.32,-74.1 24.2,-2.57 47.07,6.67 60.52,22.02 27.04,30.86 16.45,74.4 -14.43,91.4 -19.06,10.46 -40.3,3.45 -46.95,3.2 -3.42,-0.13 -25.6,9.5 -32.5,13.88 -1.68,1.07 -3.52,1.98 -5.42,0.56 -2,-1.47 -1.18,-3.47 -0.7,-5.36 0.5,-2.05 6.17,-26.13 4.1,-27.95z" />
|
||||
<!-- Border, shadow -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M415.6,303.76c-1.72,1.5 -3.38,3.05 -5.08,4.58 -3.58,3.24 -14.12,2.94 -17.7,-0.44 -2.15,-2.03 -1.74,-3.02 1.04,-3.88 3.88,-1.2 7.66,-2.73 11.47,-4.17 15.35,-5.8 24.8,-17.05 28.94,-32.6 2.37,-8.9 -1.8,-13.55 -11,-13.94 -7.06,-0.3 -14,0.78 -20.95,1.45 -9.33,0.9 -18.55,0.57 -27.53,-2.26 -7.48,-2.37 -10.93,-7.27 -11.57,-14.84 -1.13,-13.3 -4.25,-33.32 -2.67,-39.85 1.52,-6.28 7,-20.6 5.78,-30.26 -1.18,-9.38 -4.67,-14.27 -7.74,-19.85 -3.2,-5.83 -5,-12.75 -6.97,-18.9 -5.04,-15.65 -11.93,-30.6 -23.7,-42.74 -7.07,-7.28 -15.15,-13.3 -22.8,-19.87 -5.32,-4.6 -11.2,-7.82 -18,-9.3 -3.1,-0.65 -4.23,-1.47 -3.4,-5.17 2.3,-10.25 -3,-16.46 -13.4,-16.5 -1.46,-0.02 -2.94,-0.08 -4.4,0.1 -3.8,0.48 -5.26,-0.44 -4.23,-4.78 2.02,-8.56 -4.18,-16.05 -12.95,-16.12 -6.58,-0.04 -13.02,0.92 -19.02,3.7 -2.42,1.12 -3.52,1.1 -4.72,-1.66 -2.43,-5.58 -6.8,-8.86 -13.04,-9.75 -12.25,-1.75 -22.9,1.67 -32.07,9.7 -9.78,8.53 -16.37,19.45 -21.2,31.25 -4.1,10.04 -9.46,18.37 -19.75,22.88 -2.8,1.23 -5.35,3.12 -7.84,4.95 -20.45,15 -36.96,33.6 -50.95,54.7 -9.9,14.93 -18.4,30.2 -22.3,47.94 -2.72,12.42 -5.2,24.87 -7.12,37.4 -2,12.93 -1.06,25.64 3.62,37.97 2.12,5.62 5.57,8.77 11.06,8.6 4.34,-0.16 5.3,1.77 6.14,5.52 2.27,9.9 5.9,19.05 17.13,22.2 1.76,0.5 2.48,1.3 0.87,3.05 -5.94,6.5 -11.04,13.64 -16.03,20.9 -10.44,15.25 -17.88,31.82 -21.53,49.87 -1.94,9.55 -2.54,19.4 1.98,28.76 1.06,2.18 1.1,4.64 1,7.16 -0.87,19.15 7.85,33.9 21.43,46.83 -7.8,4.47 -26.34,3.1 -32.96,-2.53 -1.27,-1.08 -2.46,-2.18 -1.26,-4.12 4.77,-7.68 1.6,-14 -3.58,-19.87 -5.1,-5.77 -9.94,-5.4 -14.1,1.15 -1.15,1.8 -2.08,2.9 -4.55,2.6 -5.7,-0.7 -9.83,2.58 -12.45,7.02 -2.95,4.97 -3.6,10.74 0.2,15.65 2.4,3.1 3.04,5.15 0.5,8.66 -3.02,4.2 -2.42,10.07 0.2,12.76 3.56,3.66 9.77,4.7 14.45,2.76 7.66,-3.16 5.8,-8.13 7.66,-8.3 1.86,-0.16 3.38,3.87 11.95,7.48 17.15,7.23 35.34,7.46 52.57,-1.77 2.18,-1.17 3.87,-1 4.3,1.77 0.73,4.83 1.38,9.6 0.26,14.54 -2.64,11.65 -2.5,23.3 1.52,34.64 1.13,3.2 0.5,4.16 -2.76,4.9 -9.27,2.17 -28.52,13.96 -20.37,24.95 12.32,16.6 64.27,23.74 88.46,25.13 17.28,1 80.47,1.1 98.78,-0.78 54.86,-5.65 104.97,-17.47 110.52,-31.5 5.54,-14.06 -18.83,-24.9 -24.63,-25.7 -3.63,-0.5 -3.84,-2.1 -3.06,-4.9 0.93,-3.28 1.96,-6.56 2.6,-9.9 2.88,-14.93 3.25,-30.08 3.88,-45.2 0.08,-1.93 -0.33,-3.98 1.2,-5.56 7.33,-7.6 11.5,-16.9 14.65,-26.76 0.9,-2.82 2.78,-4.44 5.44,-5.06 8.8,-2.05 16.87,-5.88 24.88,-9.88 5.4,-2.7 10.54,-5.68 14.96,-9.98 11.36,-11.03 10.58,-23.68 5.24,-36.94 -1.17,-2.9 -1.2,-5.5 -0.62,-8.5 1.65,-8.72 4.06,-16.95 9.53,-24.26 4.17,-5.6 6.2,-11.95 4.07,-19.32 -2.68,-9.35 -10.94,-12.2 -18.26,-5.84zM245.8,512.6c-3.24,-0.14 -27.22,-0.8 -39.35,0.44 -2.15,0.22 -3.5,-0.3 -3.46,-2.75 0.1,-5.04 -0.16,-10.08 1.02,-15.05 0.55,-2.33 1.74,-3.4 4.08,-3.14 12.18,1.3 24.3,1.13 36.34,-1.43 2.5,-0.53 3.15,0.9 3.32,2.95 0.4,5.18 0.75,10.37 1.3,15.54 0.26,2.6 -0.7,3.54 -3.25,3.43z" />
|
||||
<!-- Light body part -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_body_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M279.22,471.42c-10.37,3.92 -21.02,7 -31.83,9.33 -14.18,3.05 -28.5,4.7 -42.93,1.27 -5.1,-1.22 -6.84,0.05 -7.17,5.5 -0.5,8.62 -0.68,17.25 -0.92,25.87 -0.07,2.6 -0.5,5.14 -1.2,7.66 -0.4,1.4 -0.9,2.16 -2.47,2.5 -9.43,2.06 -13.78,7.97 -13.03,17.65 0.12,1.5 0.77,2.9 -1.3,3.54 -2.36,0.73 -4.25,1.83 -5.14,-2.2 -1.5,-6.9 -6.23,-10.83 -11.5,-10.77 -5.86,0.08 -9.53,3.6 -10.55,10.03 -0.24,1.52 0.85,4.24 -2.22,3.76 -2.34,-0.36 -5.53,-0.18 -5.45,-4.13 0.06,-2.64 -0.68,-5.14 -1.8,-7.54 -1.95,-4.13 -4.66,-7.13 -9.7,-6.64 -4.93,0.47 -9.5,1.56 -10.54,7.5 -0.5,2.9 -1.83,2.98 -3.95,1.46 -5.93,-4.24 -8.36,-10.68 -10.12,-17.25 -3.76,-14.07 -2.06,-28.3 1.36,-42.02 2.3,-9.23 -2.2,-14.2 -7.85,-19.44 -1.4,-1.28 -2.67,-1.77 -4.13,-0.13 -5.28,5.96 -12.45,8.2 -19.9,8.84 -8.02,0.72 -16.07,1.53 -24.25,-0.27 -6.38,-1.4 -11.9,-4.15 -17.35,-7.4 -3.48,-2.1 -4.26,-5.15 -2.8,-8.83 1.38,-3.48 4.4,-4.22 7.3,-1.8 11.86,9.9 28.6,11.16 42.12,3.2 3.7,-2.2 3.57,-4.12 0.4,-7.03 -10.24,-9.45 -17.1,-20.83 -19.24,-35.38 3.4,1.25 5.04,4.06 7.54,5.66 14.7,9.48 30.9,15.2 48.3,14.54 13.2,-0.52 29.47,-8.72 42.15,-28.47 7.02,-10.93 11.06,-22.32 15.47,-33.98 1.04,-2.74 1.8,-5.58 2.8,-8.33 1.6,-4.3 1.66,-8.3 -2.84,-12.08 -1.7,8.8 -5.64,16.5 -8.8,24.53 -5.66,14.4 -11.54,28.77 -22.86,39.94 -1.1,1.1 -3.88,-1.6 -3.95,-3.93 3.65,-4.67 4.83,-9.88 2.3,-15.56 -1.97,-4.45 -5.16,-8.2 -10.13,-7.87 -7.44,-0.32 -11.44,10.3 -12.8,11.2 -1.86,-0.5 -2.58,-0.82 -2.46,-1.82 0.4,-3.55 2.6,-8 2.08,-11.6 -0.92,-6.28 -4.25,-10.2 -9.75,-11.28 -5.4,-1.07 -11.47,1.53 -14.34,6.26 -0.84,1.38 -1.52,2.9 -2.1,4.4 -0.53,1.48 -0.37,3.35 -3,2.56 -2.2,-0.66 -2.6,-1.76 -2.32,-3.95 0.67,-5.1 0.43,-10.17 -3.16,-14.32 -3.74,-4.32 -8.46,-5.23 -13.74,-3.3 -5.14,1.87 -9.4,8.73 -9.46,13.83 -0.03,3.12 -1.9,3.1 -3.72,3.2 -2.9,0.15 -1.8,-2 -1.6,-3.46 1.55,-12.6 6.18,-23.93 12.3,-35.16 7.56,-13.88 15.37,-27.5 24.33,-40.52 3.64,-5.3 7.7,-10 13.6,-12.97 2.14,-1.1 3.23,-1.07 4.94,0.74 9.82,10.4 29.58,8.63 38.24,-2.8 7.92,-10.48 14.4,-21.63 18.4,-34.13 3,-9.4 3,-19.24 3.22,-29 0.1,-4.7 0.27,-9.42 -0.46,-14.13 -0.26,-1.68 -0.9,-3.1 -1.6,-4.55 -0.45,-0.93 -1.17,-1.63 -2.3,-1.46 -1.43,0.23 -1.72,1.4 -1.7,2.58 0.16,8.32 -1.25,16.54 -1.64,24.8 -0.65,13.9 -6.48,26.08 -11.67,38.5 -1.6,3.86 -4.14,7.36 -6.28,11 -3.85,6.6 -13.65,11.12 -21.3,10.03 -3.9,-0.56 -6.38,-2.9 -8.54,-5.92 -5.6,-7.9 -5.98,-8 -14.55,-3.3 -3.66,2 -7.37,3.35 -11.6,3.13 -3.42,-0.2 -5.72,-1.64 -7.1,-4.96 -2.3,-5.65 -3.1,-11.6 -4.16,-17.53 -1.06,-5.9 -2.2,-6.55 -7.9,-5.17 -8.1,1.96 -11.05,0.07 -11.63,-8.2 -2.78,-39.67 3.82,-77.05 25.98,-111.02 12.12,-18.56 25.57,-35.9 43.66,-48.8 6.42,-4.56 12.15,-10.13 19.2,-13.87 4.24,-2.26 7.54,-5.7 9.85,-9.94 4.18,-7.73 8.3,-15.5 12.37,-23.28 4.6,-8.78 10.3,-16.5 19.04,-21.67 4.9,-2.9 10.07,-4.14 15.75,-4.52 9.55,-0.65 15.02,7.32 11.64,16.74 -0.55,1.54 -1.87,3.07 -0.17,4.32 1.53,1.1 2.7,-0.47 3.7,-1.48 5.87,-5.86 13.33,-8.38 21.15,-10.25 4.28,-1 8.1,-0.6 11.18,2.83 2.75,3.05 3.85,6.22 0.05,9.2 -2.7,2.1 -3.02,5.35 -4.1,8.1 -1.2,3.07 1.36,3.2 3.36,2.43 4.5,-1.76 9.2,-2.1 13.92,-2.26 3.64,-0.13 6.83,1.14 8.6,4.53 1.12,2.13 -2.03,7.8 -2.55,8.6 -2.68,4.28 -2.55,4.38 2.4,4.88 11.46,1.17 21.7,4.95 30.23,13.15 6.1,5.85 12.9,10.9 18.8,17.05 9.33,9.76 15.03,21.52 19.55,34.02 1.2,3.36 2.54,6.7 3.72,10.07 0.47,1.34 1.2,3.18 -1.25,3.23 -7.78,0.17 -10.77,6.4 -12.8,11.83 -6.8,18.36 -2.75,43.02 18.2,53.4 1.64,0.8 1.97,1.82 2.15,3.37 1.82,15.66 3.45,31.35 5.6,46.97 3.02,21.67 11.1,41.1 27.12,56.53 5.08,4.9 11.43,6.24 18.6,6.8 6.46,0.5 9.8,-2.7 13.6,-6.3 2.44,-2.3 4.12,-1.64 5.9,0.86 2.92,4.14 3.55,8.9 0.06,13.13 -6.72,8.2 -9.5,17.6 -10.53,27.86 -0.34,3.43 -1.5,6.7 -3.45,9.57 -5.98,8.87 -15.2,8.46 -19.86,-1.12 -2.25,-4.6 -5.2,-5.67 -10.27,-5.96 -19.05,-1.08 -38.06,-3.04 -54.03,-15.28 -1.02,-0.8 -2,-1.65 -3.35,-2.8 2.26,-1.4 4.25,-2.72 6.3,-3.93 6.63,-3.9 10.87,-9.54 12.57,-17.1 1.08,-4.8 -1.28,-8.54 -6.13,-9.8 -5.72,-1.48 -11.4,-0.1 -16.93,0.72 -18.5,2.75 -32.6,-4.43 -44.13,-18.2 -6.16,-7.37 -10.08,-15.85 -12.8,-25 -0.55,-1.9 -0.16,-3.45 0.5,-5.14 3.7,-9.7 -2.85,-16.26 -9.9,-20.88 -1.56,-1.02 -3.48,-0.86 -5.2,-0.12 -1.25,0.54 -2.23,1.47 -2.18,2.96 0.04,1.4 1.12,1.8 2.3,2.1 4.33,1.15 6.5,4.8 8.62,8.14 1.95,3.1 0.45,5.02 -3.23,4.96 -21.47,-0.33 -39.34,13.85 -42.72,33.88 -1.03,6.08 0.26,11.96 1.48,17.85 -3.6,2.1 -6.02,1.48 -10.24,-2.67 -2.8,-3.36 -7.06,-4.18 -11,-6.62 1.13,3.12 4.65,3.44 5.06,6.34 0.15,1.66 -0.32,3.14 -0.95,4.68 -2,4.92 -0.93,7.65 3.9,10.42 6.57,3.78 13.94,5.37 21.23,6.63 5.6,0.97 10.93,2.93 16.56,3.6 19.9,10.77 41.28,15.3 63.8,14.66 4.28,-0.12 8.17,-2.1 12.23,-3.25 2.4,-0.7 4.1,-0.62 6.13,1.18 9.17,8.16 19.8,13.5 31.98,15.55 1.77,0.3 3.5,0.77 5.27,1.05 3.67,0.57 5.1,2.5 5.96,6.33 1.93,8.66 3,17.3 2.7,26.13 -1.02,23.5 -12.04,42.17 -28.75,57.7 -5.67,5.26 -13.34,8 -20.2,11.65 -5.68,3.04 -11.88,5.26 -17.85,7.84 -5.6,2.4 -11.3,3.76 -17.4,3.02z" />
|
||||
<!-- Further (darker) leg -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_2"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M279.22,471.42c10.28,-2.2 31,-8.76 39.53,-13.88 15.54,-9.33 30.38,-26.6 38.56,-45.9 2.8,-6.6 4.07,-13.63 6.14,-20.42 1.6,8.36 -0.26,16.5 -1.88,24.6 -2.68,13.42 -6.86,26.16 -18.13,35.28 -1.77,1.43 -4.2,3.32 -2.35,6.14 1.8,2.72 4.05,0.22 6.67,-0.2 -0.63,14.65 -0.92,29.07 -5.2,43.06 -0.4,1.3 -1.17,2.33 -2.4,2.93 -4.9,2.4 -6.57,6.43 -6.3,11.65 0.1,1.32 0.52,3.26 -1.26,3.83 -1.5,0.48 -2.1,-1.28 -3.03,-2.1 -8.05,-6.85 -17.14,-3.58 -19.1,7.03 -0.4,2.23 -1.14,3.6 -3.45,3.97 -2.78,0.45 -2.6,-1.84 -3.18,-3.4 -2.16,-5.7 -6.1,-8.9 -12.32,-9.58 -6.35,-0.7 -9.8,2.8 -12.1,7.83 -1.3,2.84 -3.1,3.34 -5.83,2.87 -11.17,-1.92 -13.98,-5.16 -14.82,-16.36 -0.4,-5.35 -1.23,-10.68 -2.2,-15.95 -0.7,-4.03 0.65,-6.12 4.68,-6.8 5.2,-0.85 9.8,-3.38 14.57,-5.45 4.48,-1.94 5.6,-5.36 3.4,-9.13z" />
|
||||
<!-- Closer (brighter) tusk -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_light_color_2"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M249.68,262.06c3.5,-0.82 4.93,1.67 5.86,4.97 3.6,12.78 10.14,23.67 20.14,32.58 14,12.5 30.04,16.68 48.3,13.13 2.23,-0.44 4.53,-0.58 6.8,-0.57 4.1,0.04 5.33,2.14 3,5.52 -4,5.78 -8.6,10.78 -15.63,13.23 -7.17,2.52 -13.93,5.86 -21.84,6.23 -16.13,0.74 -32.02,-1.26 -46.68,-7.43 -12,-5.05 -23.18,-12.57 -32.14,-22.42 -3.85,-4.23 -2.73,-10.12 -2.02,-15.4 2.15,-15.97 17.82,-29.77 34.22,-29.82z" />
|
||||
<!-- Further (darker) tusk -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_light_color_1"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M386.24,295.4c-3.06,0.45 -4.2,-0.34 -5.38,-1.74 -8.34,-10 -11.94,-21.93 -14.35,-34.37 -0.4,-2.1 0.76,-2.4 2.2,-1.6 9.53,5.12 19.88,5.2 30.3,5.42 5.46,0.12 10.57,-1.34 15.8,-2.42 1.9,-0.4 3.78,-1.05 5.7,-1.24 6.18,-0.6 9.65,3.83 7.25,9.58 -3.34,8 -8.94,14.28 -16.45,18.6 -8.12,4.7 -17.02,7.06 -25.06,7.75z" />
|
||||
<!-- Further (darker) hand -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_2"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M415.42,367.63c3.53,7.75 3.7,14.84 -1.1,21.63 -1.47,2.08 -2.6,3.8 -4.82,0.34 -2.13,-3.3 -5.82,-5.17 -9.16,-7.13 -3.4,-2 -7.63,-0.44 -10.03,3.4 -3.4,5.4 -3.34,11.18 -0.97,16.85 1.1,2.62 0.66,3.87 -1.82,4.83 -3.94,1.53 -7.83,3.18 -11.77,4.7 -3.52,1.37 -4.58,-0.35 -3.97,-3.52 0.7,-3.68 1.24,-7.33 1.4,-11.1 0.43,-10.68 -0.85,-21.07 -3.92,-31.3 -1.53,-5.1 -0.83,-5.73 4.46,-5 1.3,0.2 2.6,0.54 3.87,0.44 4.14,-0.33 6.56,0.94 8.54,5.16 4.2,8.94 16.8,10.77 25.28,4.26 1.28,-1 2.43,-2.14 4.04,-3.57z" />
|
||||
<!-- Shadow on the body under the head -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_1"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M235.36,329.56c-4.9,2.3 -9.54,-0.06 -14.25,-0.8 -6.7,-1.02 -13.33,-2.44 -19.7,-4.93 -12,-4.72 -13.4,-7.95 -8.3,-19.3 2.5,-2.93 6.32,-0.56 9.12,-2.3 1.8,3.48 5.23,4.16 8.6,4.97 4.9,8.3 12.62,13.74 20.15,19.33 1.43,1.06 2.93,2.03 4.4,3.03z" />
|
||||
<!-- Lil thing on the tail -->
|
||||
<path
|
||||
android:fillColor="#7F90A4"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M29.1,436.15c0.18,-2.77 -0.3,-6.05 1.6,-8.98 1.46,-2.3 2.84,-3.05 4.6,-0.17 3.4,5.6 1.73,11.95 -4,15.13 -5.14,2.86 -4.4,7.85 -4.28,12.5 0.12,4.1 -2.63,8.4 -6.48,9.67 -3.95,1.3 -5.53,0.05 -5.24,-4.04 0.23,-3.2 1.85,-5.46 4.5,-7.1 1.9,-1.16 2.7,-2.1 0.24,-3.82 -1.63,-1.15 -2.64,-3.12 -4.28,-4.5 -2.75,-2.34 -2.9,-7.88 -0.46,-9.67 3.34,-2.43 6.07,-1.22 8.24,1.92 0.37,0.52 2.8,4.4 4.6,3.72 2.06,-0.77 0.83,-2.63 0.96,-4.67z" />
|
||||
<!-- Further (darker) eye whiteness-->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_light_color_2"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M352.32,197.8c-15.1,-5.94 -17.93,-25.7 -15.68,-37.5 1,-5.23 1.8,-10.65 5.4,-14.95 2.45,-2.9 5.87,-3.17 7.35,-0.58 0.72,1.27 1.88,3.03 -1.13,3.43 -2.77,0.37 -3.95,2.48 -4.73,4.95 -3.13,9.84 -1.9,26.38 2.35,32.03 1.93,2.58 3.1,4.33 6.02,7.17 2.7,2.62 2.47,2.93 0.4,5.46z" />
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_light_color_1"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M113.84,383.72c0.02,6.36 -0.75,6.95 -6.06,5.1 -2.14,-0.74 -4.16,-2.02 -6.35,-2.4 -4.78,-0.8 -3.77,-2.96 -1.96,-5.94 2.34,-3.86 5.7,-5.3 9.85,-4.28 4.17,1.03 4.24,4.8 4.52,7.52zM67.34,378.3c-2.27,-0.08 -0.84,-9.75 3.55,-11.8 4.3,-2 9.2,-0.32 11.33,3.1 1.98,3.2 1.1,11.72 -1.73,10.7 -2.27,-0.85 -7.85,-1.78 -13.16,-2zM393.28,396.27c0.18,-3.52 0.04,-7 3.72,-8.44 1.34,-0.52 8.55,7.1 8.54,8.64 -0.02,1.2 -8.14,7.03 -9.65,6.48 -3.38,-1.2 -1.88,-4.57 -2.62,-6.68zM137.77,397.7c-0.37,2.2 -1.43,4.63 -3.94,6.13 -0.57,0.34 -8.98,-6.25 -9,-6.88 -0.1,-2.22 5.47,-7.36 7.8,-7.23 2.6,0.14 5.22,3.88 5.14,7.98zM161.73,546.88c-2.15,-0.78 -6.73,1.67 -6.56,-3.93 0.13,-4.1 3.75,-7.33 7.26,-6.8 3.2,0.5 7.03,6.24 6.22,9.37 -0.4,1.56 -0.4,1.56 -6.92,1.36zM131.66,531.32c4.36,-0.1 8.77,6.83 6.85,10.74 -0.74,1.53 -1.95,0.9 -2.9,0.6 -2.02,-0.6 -3.97,-1.46 -5.94,-2.2 -2.3,-0.86 -5.52,-0.77 -4.6,-4.76 0.8,-3.6 3.42,-4.4 6.6,-4.38zM293.12,519.15c3.6,1.2 5.8,5.53 5.1,7.66 -0.8,2.48 -6.9,1.98 -8.64,1.9 -2.1,-0.13 -5.96,-1.66 -6.4,-3.37 -0.43,-1.6 0.95,-3.04 2.1,-4.16 1.38,-1.32 4.17,-3.24 7.84,-2.02zM320.45,517.26c2.46,0.8 5.4,1.4 5.67,4.47 0.25,3 -2.85,2.34 -4.63,3.04 -0.45,0.18 -0.92,0.35 -1.4,0.42 -1.84,0.28 -3.83,1.83 -5.5,0.35 -1.15,-1 -0.5,-2.84 0.3,-4.04 1.3,-2 2.78,-3.97 5.55,-4.24zM190.93,529.32c1.58,-0.08 2.62,0.53 2.2,2.25 -0.36,1.4 -0.93,2.77 -1.58,4.07 -1.38,2.76 -2.86,5.63 -6.32,6.02 -1.1,0.13 -0.9,-1.46 -0.83,-2.38 0.4,-4.83 3.67,-9.8 6.53,-9.96zM339.9,507.95c0.86,3.34 -0.14,4.58 -1.5,5.93 -1.1,-2.24 0.18,-3.46 1.5,-5.93z" />
|
||||
<!-- Dots inside the speech bubble -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_light_color_2"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M449.67,120.45c-0.56,6.07 -4.03,9.7 -8.44,9.42 -4.9,-0.32 -7.8,-3.82 -7.27,-8.78 0.45,-4.3 5.1,-8.1 9.58,-7.8 4.93,0.3 6.04,3.64 6.13,7.15zM479.33,123.64c-0.57,6.07 -4.03,9.7 -8.44,9.42 -4.9,-0.32 -7.8,-3.82 -7.28,-8.78 0.45,-4.28 5.1,-8.08 9.58,-7.8 4.93,0.32 6.04,3.65 6.13,7.16zM416.6,116.9c-0.58,6.06 -4.04,9.7 -8.45,9.4 -4.9,-0.3 -7.8,-3.8 -7.27,-8.77 0.45,-4.28 5.1,-8.08 9.58,-7.8 4.93,0.32 6.03,3.65 6.13,7.16z" />
|
||||
<!-- Closer eye border, fur on the chest, trunk inners -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M195.24,152.74c7.74,-11.83 18.38,-18.1 33.3,-15.86 16.5,2.5 27.95,10.5 30.4,25.3 3.8,22.83 -9.52,47.04 -37.8,49.3 -15,1.18 -27.8,-6.6 -33.2,-22.3 -5.08,-14.78 1.8,-28.04 7.3,-36.44zM233.13,336.23c-3.38,3.85 -4.73,8.13 -5.24,12.7 -0.2,1.73 -0.88,3.85 0.95,4.96 1.95,1.18 4.04,0.58 5.93,-0.66 2.84,-1.88 5.68,-3.77 8.6,-5.5 2.82,-1.66 4.3,-1.22 3.7,2.52 -1.02,6.47 0.4,12.64 2.83,18.6 2,4.88 6.94,5.66 10.4,1.6 2.55,-3 4.53,-6.36 6.14,-9.95 1.73,-3.87 4.12,-5.4 8.46,-3.1 4.98,2.6 6.83,1.5 8.35,-4.05 0.38,-1.4 0.65,-2.85 1,-4.27 0.34,-1.35 0,-3.3 1.95,-3.48 1.74,-0.15 3.12,1.1 3.77,2.64 2.08,4.84 1.66,9.83 -1.26,13.96 -2.9,4.1 -7.3,7 -12.64,5.4 -3.4,-1.03 -4.6,0.33 -6.08,2.78 -2.34,3.86 -4.54,8.03 -9.38,9.4 -9.73,2.77 -16.5,-1.07 -19.34,-10.9 -0.3,-1.1 -0.63,-2.2 -0.8,-3.33 -0.98,-6.03 -0.97,-6.04 -7.13,-4.43 -6.8,1.78 -11.85,-2.22 -11.2,-9.22 0.3,-3.02 1.43,-5.98 2.4,-8.9 0.54,-1.7 1.44,-3.3 2.33,-4.84 1.27,-2.2 3.04,-3.38 6.27,-1.93zM396.93,346.85c1.1,-8.24 4.9,-16.17 11.23,-22.87 1.35,-1.42 3.2,-2.32 5.2,-2.45 2.95,-0.2 4.2,1.35 3.64,4.25 -0.12,0.6 -0.54,1.17 -0.88,1.72 -3.8,6.24 -7.34,12.55 -6.02,20.32 0.07,0.45 -0.16,0.95 -0.25,1.43 -0.96,4.73 -3.7,7.37 -7.28,7 -3.46,-0.34 -5.76,-3.8 -5.64,-9.4z" />
|
||||
<!-- Stripes on the body -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_1"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M339.6,394.63c-2.8,5.76 -5.05,12.45 -11.24,16.56 -1.6,1.04 -3.35,1.4 -4.9,-0.13 -1.4,-1.35 -1.2,-3.02 -0.4,-4.5 2.6,-4.88 5.2,-9.75 8,-14.5 1.23,-2.06 3.3,-3.22 5.84,-2.32 1.9,0.67 2.56,2.35 2.7,4.88zM99.37,195.3c0,5.1 -0.74,9.43 -1.8,13.7 -0.7,2.8 -2.47,4.76 -5.65,4 -3.27,-0.8 -3.62,-3.4 -2.94,-6.2 0.95,-3.96 1.85,-7.93 3.04,-11.82 0.76,-2.5 1,-6.24 4.72,-5.75 4,0.53 2.55,4.16 2.63,6.07zM306.3,404.28c-0.4,0.8 -0.8,2.3 -1.68,3.38 -2.87,3.52 -5.74,7.07 -8.97,10.24 -1.6,1.6 -4,3.56 -6.38,1.17 -2.1,-2.1 -0.64,-4.1 0.9,-5.97 3.17,-3.88 5.07,-8.74 9.14,-11.93 1.47,-1.13 3,-2.12 4.9,-1.1 1.4,0.76 2.08,2 2.1,4.2z" />
|
||||
<!-- Stripes on the trunk -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M348.56,246.42c0.34,0.05 1.82,0.1 3.2,0.53 1.93,0.6 2.9,2.2 2.56,4.15 -0.4,2.17 -2.1,2.8 -4.1,2.32 -5,-1.2 -9.1,1.4 -13.42,3.06 -1.2,0.47 -2.28,1.25 -3.46,1.75 -1.94,0.83 -3.96,1 -5.14,-1.1 -1.27,-2.24 0.28,-3.54 2.07,-4.67 5.27,-3.32 10.78,-5.92 18.3,-6.04z" />
|
||||
<!-- Some stripes on the body -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_1"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M93.92,356.84c0.62,-4.05 2.12,-7.92 4.52,-11.26 2.05,-2.86 13.07,-8.75 11,-0.02 -0.9,3.88 -13.95,23.17 -15.52,11.28 0.87,-5.7 0.2,1.54 0,0zM293.28,451.9c-2.74,-0.2 -4.53,-0.6 -5.22,-2.56 -0.7,-1.95 0.73,-2.94 2.15,-3.84 4.1,-2.6 7.46,-6.24 11.86,-8.45 2.12,-1.06 3.98,-1.3 5.73,0.54 1.98,2.07 0.75,3.87 -0.58,5.6 -3.77,4.85 -9.4,6.57 -13.94,8.7zM157.6,506.77c-0.1,0.93 -0.1,2.24 -0.4,3.5 -0.5,2.28 -1.95,3.8 -4.36,3.85 -2.33,0.07 -3.6,-1.68 -4,-3.62 -1.13,-5.65 0,-11.33 1.05,-16.8 0.6,-3.12 3.28,-2.43 4.95,0.03 2.62,3.85 2.18,8.37 2.76,13.04zM121.98,171.47c0,4.06 -1.3,8 -1.03,12.08 0.15,2.4 -1.83,3.8 -4.16,3.9 -2.48,0.1 -3.32,-1.92 -3.55,-3.9 -0.8,-6.62 1.78,-12.7 3.4,-18.92 0.26,-0.94 1.18,-1.55 2.28,-1.5 1.32,0.1 2.18,0.96 2.38,2.1 0.4,2.05 0.47,4.16 0.68,6.24zM127.7,234.96c-0.1,1.63 -0.28,4.04 -0.38,6.46 -0.1,2.66 -1.78,3.8 -4.1,3.78 -2.47,-0.03 -4.1,-1.8 -3.97,-4.06 0.28,-4.8 0.3,-9.73 3.2,-13.94 0.83,-1.2 1.7,-2.65 3.37,-2.32 2.14,0.43 1.78,2.4 1.85,3.96 0.1,1.77 0.02,3.55 0.02,6.12zM177.7,488.12c-0.52,3.22 0.87,8.16 -4.78,7.6 -5.6,-0.57 -4,-5.25 -3.75,-8.8 0.15,-2.08 0.56,-4.17 1.07,-6.2 0.4,-1.62 1.35,-3 3.28,-3.08 1.93,-0.07 2.9,1.24 3.5,2.83 0.92,2.47 1.26,5 0.7,7.65zM272.2,445.54c-0.3,0.63 -0.48,1.5 -1,2.03 -4.33,4.35 -10.06,5.68 -15.74,6.93 -1.43,0.32 -2.77,-0.9 -3.1,-2.53 -0.34,-1.53 0.66,-2.5 1.86,-3.07 4.22,-2.06 8.47,-3.98 12.57,-6.3 2.18,-1.24 4.85,-0.65 5.4,2.94zM102.32,145.58c1.64,-5.07 4.9,-9.88 8.67,-14.37 0.64,-0.77 1.66,-1 2.65,-0.48 1,0.53 1.38,1.55 1.1,2.5 -1.63,5.42 -3.5,10.8 -6.2,15.78 -0.85,1.57 -2.84,1.46 -4.45,0.88 -1.67,-0.62 -1.83,-2.1 -1.78,-4.3z" />
|
||||
<!-- Stripes -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_1"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M144.84,486.52c0,1.3 0.1,2.94 -0.03,4.55 -0.17,2.34 -1.25,4.17 -3.8,4.27 -2.65,0.1 -4.1,-2 -4,-4.07 0.23,-4.34 0,-8.8 1.37,-13.02 0.5,-1.5 1.36,-2.67 3.15,-2.47 1.52,0.17 2.25,1.36 2.45,2.68 0.4,2.56 0.57,5.15 0.87,8.06z" />
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_1"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M81.02,341.44c1.3,-3.72 4.4,-17.26 11.34,-12.86 7.63,4.85 -12.85,22.17 -11.34,12.87 1.3,-3.7 -0.2,1.3 0,0zM107.94,313.03c0.88,-3.87 1.65,-7.9 4.5,-10.98 1.52,-1.63 3.36,-2.55 5.6,-1.08 2.35,1.54 1.9,3.58 0.87,5.53 -1.56,2.98 -3.24,5.9 -5.06,8.75 -0.9,1.44 -2.4,2.25 -4.18,1.52 -1.6,-0.66 -1.77,-2.14 -1.72,-3.74z" />
|
||||
<!-- Some dark stripes -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M342.43,271.95c-1.83,0 -3.2,0 -3.8,-1.48 -0.53,-1.25 0.2,-2.2 1.04,-3 4.12,-3.8 9.28,-5.16 14.6,-5.7 2.03,-0.2 4.25,0.87 4.33,3.64 0.06,2.56 -1.9,2.55 -3.7,2.87 -4.44,0.8 -8.7,2.26 -12.47,3.68zM202.22,302.22c-1.4,7.32 -5.82,2.58 -9.13,2.3 -2.34,-1.72 -4.7,-3.4 -6.98,-5.2 -1.35,-1.07 -2.27,-2.5 -1.12,-4.2 1,-1.46 2.65,-1.47 3.9,-0.6 4.2,2.98 9.44,4.16 13.32,7.7z" />
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M356.13,286.15c-2.13,-0.24 -5.3,0.83 -5.03,-2.32 0.3,-3.4 3.6,-4.4 6.62,-4.34 2.07,0.03 4.6,0.8 4.2,3.6 -0.5,3.4 -3.13,3.7 -5.8,3.05z" />
|
||||
<!-- Closer (brighter) eye whiteness-->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_light_color_2"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M249.37,187.45c-7.92,14.6 -25.8,23.77 -44.07,13.36 -8.45,-4.8 -11.9,-14.85 -11.95,-23.45 -0.1,-12.7 6.15,-22.22 16.36,-30.07 10.78,-8.3 34.38,-4.27 40.84,10.76 2.74,6.4 3.9,20.05 -1.17,29.4z" />
|
||||
<!-- Closer eye pupil -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M245.26,175.92c0.12,9.8 -6.64,19.24 -18.34,21.65 -12.87,2.66 -23.04,-5.27 -25.9,-15.54 -2.43,-8.64 3.8,-20.3 9.64,-25.97 6.9,-6.73 18.22,-7.67 25.9,-2.63 8.8,5.8 8.6,14.37 8.7,22.5z" />
|
||||
</vector>
|
||||
|
|
134
app/src/main/res/drawable/elephant_offline.xml
Normal file
134
app/src/main/res/drawable/elephant_offline.xml
Normal file
|
@ -0,0 +1,134 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="193dp"
|
||||
android:height="193dp"
|
||||
android:viewportWidth="580"
|
||||
android:viewportHeight="580">
|
||||
<!-- Further wire -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_accent_color"
|
||||
android:pathData="M484.83,519.5c-9.1,0 -16.77,-2.14 -19.06,-9.84 0,0 0.63,-5.44 1.63,-6.9 2.34,-3.43 8.96,-4.75 12.83,-4.52 7.96,0.47 27.3,0.4 42.58,-3.43 11.22,-2.8 21.66,-10.72 25.4,-19.24 2.26,-5.1 2,-10.1 -0.76,-15.22 -14.8,-27.44 -61.55,-33.1 -92.48,-36.83l-1.46,-0.17c-20.26,-2.45 -41.82,-4.27 -64.1,-5.4 -1.48,-0.07 -3.16,-0.24 -5.1,-0.43 -3.64,-0.37 -18.88,-1.33 -21.47,-0.03 0,0 -6.8,-13.94 -6.8,-13.94 7.33,-6.93 20.5,-5.6 30.13,-4.65 1.63,0.16 3.17,0.32 4.18,0.37 22.72,1.15 44.72,3 65.4,5.5l1.46,0.2c34.76,4.2 87.3,10.54 106.7,46.5 5.54,10.26 6.04,21.2 1.43,31.66 -6.1,13.88 -21,25.6 -37.96,29.85 -3.72,0.94 -15.95,3.7 -27.8,5.3 -4.94,0.67 -10.04,1.24 -14.74,1.24z" />
|
||||
<!-- Shadow and part of the border-->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M340.08,43.43c6.84,-1.48 13.62,-3.16 20.66,-2.8 10.37,0.56 16.8,5.47 19.23,14.64 1.8,6.87 -1.47,11.84 -6.2,16 -2.7,2.4 -3.43,3.6 0.04,6.07 17.86,12.64 25.78,30.78 28.55,51.86 0.65,4.88 5.2,7.9 7.9,11.8 8.66,12.62 15.85,25.7 16.86,41.4 0.4,6.03 -1.05,11.48 -4.56,16.29 -1.45,1.97 -1.8,3.8 -1.27,6.06 1.55,6.5 -0.46,12.4 -3.57,17.9 -3.05,5.4 -7.76,7.14 -14.54,5.33 -3.03,-0.82 -3.9,0 -4.27,2.72 -0.84,6.16 -1.62,12.34 -2.67,18.47 -0.52,3 0.2,6.4 2.47,7.7 8.98,5.22 24.9,-2.13 35.84,-13.28 3.33,-3.38 9.7,-0.18 11.84,4.17 5.44,11.05 2.95,26.28 -5.4,35.32 -6.07,6.55 -17.98,16.66 -28.66,19.96 -2.6,0.8 1.35,6.88 2.37,9.8 3.28,9.44 5.6,19.13 8.1,28.77 0.87,3.37 0.04,5.58 -2.55,8.15 -8.35,8.3 -19,12.35 -29.48,16.6 -3.2,1.3 -3.22,2.14 -2,4.85 1.2,2.72 3.42,4.77 4.38,7.67 1.25,3.8 2.8,7.57 -0.43,10.96 -3.34,3.5 -7.64,4.6 -12.4,3.9 -3.47,-0.5 -6.3,-2.4 -9.2,-4.54 -1.5,9.4 -3.1,18.35 -4.34,27.37 -0.5,3.76 -1.5,7.32 -2.77,10.82 -0.75,2.1 -0.95,3.55 1.77,4.13 4.28,0.9 11.28,4.93 15,6.37 18.76,7.22 30.46,21.74 15.83,33.4 -13.17,10.5 -55.44,18.73 -80.1,22.87 -28.28,4.73 -94.9,-1.1 -110.73,-2.64 -23.76,-2.28 -47.1,-6.92 -70.17,-12.83 -7.97,-2.04 -15.74,-4.92 -23.56,-7.53 -7.15,-2.38 -12.6,-7.4 -17.87,-12.42 -4.15,-3.94 -3.2,-9.32 1.2,-12.9 7.2,-5.9 15.58,-8.94 24.5,-10.8 2.94,-0.63 4.5,-1.58 4.66,-5.06 0.38,-7.64 2.28,-15.1 3.9,-22.54 0.54,-2.5 0.16,-3.97 -2.02,-5.47 -12.7,-8.7 -24.6,-19.2 -29.45,-33.8 -1.9,-5.7 -0.42,-7.23 -4.76,-0.17 -4.36,7.08 -12.4,10.56 -21.1,15.42 -2,0.73 -1.63,2.34 -1.14,3.92 2.64,8.63 -0.4,15.6 -6.52,21.5 -3.2,3.1 -7.1,4.73 -11.52,2.93 -4.25,-1.72 -6,-5.4 -6,-9.7 0,-3.2 -0.9,-3.85 -4.08,-3.45 -6.15,0.77 -8.33,-3.2 -8.35,-9.54 -0.02,-3.7 1.58,-8.67 3.28,-10.26 2.34,-2.2 2,-2.9 -1.76,-5.8 -3.44,-2.66 1.53,-13.03 6.32,-14.9 5.26,-2.08 10.73,-2.6 15.73,0.56 2.3,1.44 3.8,1.1 5.8,-0.23 11.36,-7.38 17.37,-17.8 18.6,-31.25 1.08,-12.07 1.5,-24.15 2.67,-36.24 2.57,-26.28 9.53,-50 24.42,-71.86 9.14,-13.44 18.45,-26.58 30.06,-38 3.15,-3.1 6.58,-5.63 10.8,-7.15 2.5,-0.9 3.5,-2.1 0.7,-4.5 -5.93,-5.13 -6.55,-9.1 -2.78,-16.57 5.93,-11.74 13.8,-22.14 22.52,-31.94 22.3,-25.12 49.2,-44.27 78.63,-60.06 2.86,-1.54 3.8,-2.97 2.53,-6.17 -3.36,-8.43 -3.67,-16.9 -0.03,-25.45 4.4,-10.3 12.12,-15.77 23.13,-15.68 9.7,0.07 16.74,5.4 21.1,13.83 1.66,3.17 2.4,3.92 4.82,0.8 7.7,-9.94 18.35,-12.23 30.12,-11 10.46,1.1 16.24,12.3 11.35,21.7 -0.7,1.33 -1.85,2.5 -1.44,4.5z" />
|
||||
<!-- Speech bubble background -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_accent_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M560.64,152.37c9.82,18.94 2.83,49.58 -4.2,60.1 -8.5,12.7 -27.84,25.26 -51.5,22.92 -8.3,-0.83 -15.7,-2.08 -26.86,-9.13 -4.44,-2.8 -7.55,-1.95 -14.03,1.87 -6.03,3.56 -16.02,5.18 -18.24,2.8 -3.04,-3.27 1.13,-10.25 4.92,-17.07 3.78,-6.8 5.32,-7.76 3.5,-13.8 -0.57,-1.9 -9.68,-15.8 0.63,-41.7 8.73,-21.9 23.5,-33.83 48.8,-35.7 26.5,-1.96 48.3,12.93 57,29.7z" />
|
||||
<!-- Lightnings' border -->
|
||||
<path
|
||||
android:fillColor="#FDA201"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M405.28,504.42c-2.15,-0.07 -4.6,-2.17 -6.58,-4.97 -7.06,-9.93 -10.6,-18.1 -16.95,-28.33 -2,-3.2 -0.6,-6.08 2.34,-7.93 4.3,-2.72 3.24,-4.92 -0.2,-7.4 -5.8,-4.15 -10.93,-9.07 -16.15,-13.93 -5.18,-4.84 -6.54,-10.5 -4.56,-16.73 2.86,-9 6.4,-17.82 9.8,-26.67 1.15,-3.04 2.94,-4.28 6.62,-2.8 10.5,4.2 21.18,7.97 31.83,11.8 4.2,1.52 5.05,3.54 2.2,7.32 -2.97,3.95 -7.53,8.24 -7.6,12.46 -0.1,4.9 7.12,5.92 10.9,8.96 4.64,3.74 6.55,7.12 4.83,13.24 -4.62,16.42 -8.58,33.02 -12.82,49.55 -0.58,2.26 -0.84,4.82 -3.68,5.42zM471.96,422.6c17.67,1.02 17.95,-0.12 14.5,17.04 -1.83,9.04 -3.97,18.03 -5.53,27.1 -0.8,4.7 -3.9,8.87 -8.54,7.78 -10.8,-2.54 -12.4,-6.2 -19.87,10.08 -1.28,2.8 -3.26,12.98 -10,12.97 -3.64,0 -4.74,-3.66 -5.3,-6.76 -1.42,-7.67 -3.84,-25 -4.05,-25.9 -2.27,-9.63 -3.25,-11.82 8.96,-14.76 3.24,-0.78 3.46,-2.55 3.32,-5.1 -0.27,-4.73 -0.4,-9.46 -0.73,-14.18 -0.3,-4.47 1.86,-6.08 6.1,-6.86 7.96,-1.47 14.5,-1.8 21.13,-1.4zM384.9,509.3c-0.2,1.8 0.3,3.7 -1.74,4.45 -1.47,0.52 -2.74,-0.13 -3.86,-1.16 -0.87,-0.8 -1.8,-1.53 -2.74,-2.26 -3.17,-2.5 -6.08,-6.43 -9.6,-7.08 -4.37,-0.8 -5.5,4.9 -8.05,7.73 -3.36,3.76 -6,1.15 -8.5,-0.84 -5.84,-4.68 -8.92,-11.6 -13.57,-17.3 -4.62,-5.66 -9.26,-11.4 -12.23,-18.28 -1.5,-3.48 -1.55,-6.08 1.2,-8.93 5.18,-5.4 11.7,-8.85 18.06,-12.46 3.04,-1.74 6.48,-0.93 8.03,3.2 0.82,2.2 2.07,4.25 3.13,6.36 1.7,3.36 2.58,8.2 5.3,9.66 2.7,1.46 5.6,-3.3 8.74,-4.76 4.2,-1.97 6.78,-0.52 8.22,3.65 4.24,12.4 5.43,25.4 7.6,38z" />
|
||||
<!-- Inner orange wires -->
|
||||
<path
|
||||
android:fillColor="#FAA102"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M474.48,503.35c0.82,0.07 2.3,0.08 3.6,3.5 1,2.62 -0.97,6.08 -1.9,6.16 -6.05,0.57 -7.95,2.22 -11.6,6.75 -1.3,1.63 -7.25,6.53 -9.72,5.34 -2.37,-1.17 1.34,-5.9 3.2,-8.44 1.28,-1.74 0.28,-2.6 -1.38,-2.9 -2.37,-0.4 -9.68,2.07 -10.5,-1.48 -0.83,-3.75 7.5,-4.6 9.22,-6.23 -0.7,-2.72 -7.9,-5.96 -5.43,-9.55 1.67,-2.45 7.08,0.52 9.1,2.3 8.12,7.18 9.98,4.07 15.4,4.55zM365.5,547.35c-0.82,0.17 -2.24,0.6 -4.5,-2.27 -1.72,-2.2 -0.87,-6.1 0,-6.46 5.6,-2.33 6.93,-4.47 9.06,-9.88 0.76,-1.94 4.98,-8.4 7.7,-7.98 2.6,0.4 0.47,6 -0.56,9 -0.7,2.04 0.52,2.55 2.18,2.34 2.4,-0.3 8.64,-4.85 10.46,-1.7 1.93,3.34 -5.78,6.63 -6.93,8.7 1.5,2.38 9.3,3.34 8.03,7.5 -0.87,2.84 -6.9,1.6 -9.37,0.5 -9.9,-4.44 -10.74,-0.9 -16.07,0.25z" />
|
||||
<!-- Lighter body part -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_body_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M309.5,413.94c-3.87,0.1 -6.45,2.94 -9.34,4.83 -17.03,11.15 -35.34,18.28 -55.9,18.72 -5.75,0.12 -11.5,-0.2 -17.05,-2.1 -2.56,-0.88 -3.83,-2.15 -3.78,-5 0.13,-6.13 -1.2,-12.08 -2.72,-17.97 -0.45,-1.77 -1.34,-3.48 -2.3,-5.06 -0.6,-1.02 -1.66,-2.07 -3.1,-1.24 -1.33,0.77 -1.75,1.8 -1.3,3.52 2.83,10.93 1.48,21.9 0.12,32.87 -0.2,1.65 -1.24,2.38 -2.65,2.9 -7.22,2.65 -13.3,6.32 -13.45,15.24 -0.02,0.84 -0.34,1.5 -1.3,1.66 -1.1,0.16 -1.74,-0.42 -2.22,-1.3 -1.18,-2.2 -2.24,-4.44 -3.94,-6.33 -3.93,-4.36 -6.72,-4.9 -11.86,-2.13 -2.92,1.6 -5.4,3.62 -6.9,6.73 -0.58,1.24 -0.52,3.34 -2.9,2.95 -2.17,-0.36 -4.15,-0.6 -5.06,-3.27 -0.84,-2.44 -1.6,-4.95 -3.57,-7 -6.6,-6.84 -12.28,-7.2 -19.33,-0.9 -3.77,3.35 -4.7,3.26 -7.7,-0.93 -1.47,-2.07 -2.2,-4.4 -2.3,-6.98 -0.5,-13.3 0.3,-26.45 5.03,-39.1 0.8,-2.14 -3.3,-6.3 -8.4,-10.03 -9.7,-7.05 -19.72,-18.28 -25.2,-30.94 -1.97,-4.54 -3.15,-13.82 -5.52,-13.86 -1.5,-0.03 -3,6.1 -4.4,8.74 -5.24,9.93 -15.64,13.7 -24.34,19.95 -2.4,1.73 -4.68,0.87 -6.15,-1.87 -2.7,-5.04 -1.26,-9 3.44,-12.1 13.66,-8.98 21.7,-21.55 22.36,-38.14 0.8,-20.28 2.94,-40.34 8.24,-60 6.3,-23.35 16.82,-44.46 32.98,-62.64 4.75,-5.34 8.53,-11.54 14.2,-16.1 1.77,-1.43 3.6,-2.8 6.25,-4.88 -0.8,5.58 -1.58,10.1 -2.08,14.62 -0.84,7.7 3.3,13.64 10.76,14.8 3.47,0.55 3.67,1.72 3.45,4.85 -0.62,8.83 0.8,17.48 8.52,22.98 7.26,5.17 15.44,6.67 23.63,1.6 2.48,-1.52 2.93,0.27 3.74,1.73 6.48,11.82 15.54,21.3 26.44,29.1 0.63,0.45 1.17,1.1 1.86,1.4 2.4,1.05 4.56,-0.35 5.75,-1.8 1.13,-1.4 -0.93,-2.7 -2.18,-3.52 -11,-7.3 -18.04,-17.88 -24.32,-29.1 -2.2,-3.97 -3.03,-7.74 -0.56,-12.28 6.58,-12.12 9.08,-25.38 9.57,-39.06 0.04,-0.93 0.1,-1.88 -0.04,-2.8 -0.18,-1.3 -0.8,-2.5 -2.22,-2.63 -1.25,-0.13 -1.94,0.87 -2.28,1.97 -0.5,1.63 -1.17,3.26 -1.33,4.94 -1.3,14.1 -6.95,26.77 -13.2,39.16 -4.6,9.12 -13.63,11.57 -20.37,6.05 -3.15,-2.58 -4,-6.26 -4.68,-9.9 -0.7,-3.82 -1.34,-7.73 -1.24,-11.58 0.13,-4.95 -2.83,-6.93 -6.73,-7.34 -5.1,-0.53 -6.52,-3.4 -6.6,-7.84 -0.13,-7.76 2.36,-15.05 4.18,-22.43 1.62,-6.58 1.52,-7.28 -4.45,-10.3 -3.03,-1.53 -1.86,-4.2 -1.12,-6.13 1.78,-4.64 3.63,-9.36 6.26,-13.55 7.02,-11.2 14.6,-21.97 24.63,-30.9 16.75,-14.9 33.9,-29.3 53.54,-40.22 6.14,-3.4 12.3,-6.86 18.56,-10.1 2.4,-1.23 1.5,-3.07 1.22,-4.85 -1.08,-7.2 -3.98,-14.1 -2.87,-21.62 2.04,-13.8 10.8,-18.3 22.52,-16 7.66,1.53 11.43,9.06 14.18,16.2 0.8,2.1 0.36,5.04 3.28,5.63 3.02,0.6 4.84,-1.44 6.45,-3.72 3.27,-4.64 7.42,-8.46 12.2,-11.44 6.52,-4.06 13.5,-3.1 20.26,-0.7 3.2,1.13 4,6.4 1.52,9.78 -2.07,2.82 -3.33,5.92 -4.7,9.04 -1.56,3.62 -0.66,5.12 3.37,4.33 7.17,-1.4 14.35,-2.44 21.63,-3.2 5.6,-0.6 10.22,1.23 14.48,4.06 4.25,2.85 2.3,13.23 -2.84,16.8 -5.27,3.67 -5.47,5.68 -0.85,9.95 9.53,8.8 18.57,17.83 23.7,30.2 2.97,7.22 3.93,14.72 5.15,22.2 1.8,11.08 2.67,22.32 1.86,33.52 -0.4,5.8 -0.65,11.78 -2.6,17.4 -1.67,4.87 -0.9,9.9 -0.96,14.84 -0.22,17.26 -1.04,34.42 -3.84,51.54 -2.85,17.4 -6.84,34.4 -11.87,51.3 -5.1,17 -6.27,34.65 -4.46,52.25 0.83,8.02 2.4,16.42 9.23,22.3 0.8,0.7 1.22,1.8 1.76,2.74 1.26,2.2 3.94,4.33 1.67,7.03 -2.07,2.46 -5.18,1.78 -7.9,1.07 -1.45,-0.37 -2.75,-1.38 -4.06,-2.2 -4.9,-3.05 -10.4,-2.58 -14.56,1.34 -1.25,1.17 -2.4,2.46 -3.66,3.6 -1.43,1.3 -2.72,3.8 -4.93,2.56 -1.94,-1.1 -0.64,-3.44 -0.32,-5.2 0.43,-2.27 -0.6,-3.9 -1.94,-5.5 -2.5,-2.96 -4.73,-6.28 -7.65,-8.78 -7,-5.97 -11.13,-13.77 -14.66,-21.9 -3.86,-8.86 -10.1,-16.45 -13.13,-26.13 5.28,-0.78 10.92,-1.33 16.44,-2.48 13.84,-2.9 24.47,-9.7 28.55,-24.22 1.2,-4.32 1.2,-8.65 0.53,-12.96 -0.8,-5.2 -6.34,-8.24 -11.46,-7.1 -13.87,3.05 -27.7,5.82 -41.58,-0.6 -8.8,-4.05 -12.52,-12.2 -17.24,-19.57 -1.2,-1.86 1.15,-3.64 2.17,-5.33 5.57,-9.25 -0.1,-21.56 -10.14,-21.93 -1.08,-0.04 -2.16,0.18 -3.23,0.35 -2.1,0.32 -3.64,1.54 -3.57,3.65 0.08,2.65 2.33,1.85 3.93,1.88 6.58,0.1 8.67,2.55 7.87,9.66 -7.32,-7.13 -14.85,-4.88 -22.26,-0.57 -10.73,6.25 -18.93,14.95 -17.3,28.02 1.53,12.18 7.25,23.1 16.8,31.52 8.72,7.7 18.46,13.6 29.6,17.1 3.44,1.1 7.03,1.16 10.58,1.55 2.46,0.27 3.95,1.04 4.84,3.9 1.32,4.27 3.43,8.4 5.82,12.2 4.5,7.13 8.5,14.5 11.38,22.4 2.88,7.9 8.38,13.7 14.3,19.27 1.56,2.64 0.93,5.4 -0.7,7.44 -7.38,9.28 -14.28,19.06 -24.28,25.93 -1.6,1.1 -3.22,1.76 -5.17,1.47z" />
|
||||
<!-- Left for us (closer) tusk -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_light_color_2"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M317.07,314.53c-13.66,0.75 -26.3,-3.13 -37.78,-9.85 -12.04,-7.04 -22.98,-15.73 -26.86,-30.16 -1.56,-5.8 0.3,-11.34 3.68,-16.23 4.2,-6.1 9.77,-10.4 17.12,-12.05 5.1,-1.14 8.46,1.55 9.53,6.67 3.06,14.56 11.45,24.78 25.65,29.78 12.18,4.3 24.4,5.27 36.83,0.5 5.53,-2.13 8.3,0.5 7.78,6.4 -0.9,10.57 -9.3,20.07 -20.77,23.2 -4.96,1.34 -10.05,1.95 -15.2,1.73z" />
|
||||
<!-- Right for us (further) tusk -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_light_color_1"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M395.5,296.2c-2.5,-0.17 -3.73,-0.23 -4.97,-0.34 -3.57,-0.3 -4.74,-1.62 -3.26,-5.43 3.45,-8.84 4.5,-13.57 6.96,-22.73 0.78,-2.9 0.77,-4.5 4.75,-3.28 17.9,7.13 27.1,-6.64 38.43,-14.5 3,-1.66 3.58,0.47 4.12,2.45 2.94,10.6 0.68,19.75 -7.23,27.72 -9.67,9.72 -26.16,16.58 -38.8,16.1z" />
|
||||
<!-- Right for us (further) leg -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_2"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M309.5,413.94c10.14,-6.57 17.2,-16.27 25.26,-24.93 2.6,-2.77 3.7,-6.38 4.9,-9.9 3.25,2.58 4.8,5.42 4,10.05 -1.14,6.48 3.7,9.8 9.96,7.72 3.58,-1.2 6.45,-3.52 9.5,-5.76 1.27,1.87 0.52,3.5 0.2,5.1 -2.36,11.73 -6.37,23.07 -8.32,34.9 -0.55,3.4 -2,5.23 -6.44,4.14 -7.45,-1.82 -14.2,2.76 -16.94,10.47 -0.67,1.88 -0.63,4.34 -3.46,4.18 -2.48,-0.14 -1.88,-2.54 -2.33,-4 -2.62,-8.46 -9.3,-10.9 -16.52,-5.8 -2.64,1.88 -5.3,3.9 -6.54,7.1 -0.68,1.76 -1.94,2.46 -3.63,2.2 -5.33,-0.8 -10.78,-0.52 -16,-2.66 -3.63,-1.5 -3.43,-4.38 -4,-7.2 -0.64,-3.1 1.9,-3.5 3.8,-4.4 8.86,-4.17 17.67,-8.44 25.74,-14.07 3.87,-2.7 4.02,-4.05 0.84,-7.1z" />
|
||||
<!-- Right for us (further) hand and ear-->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_2"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M379.6,334.7c-0.2,-9.38 1.5,-18.86 3.34,-28.32 0.45,-2.32 1.66,-3 4.03,-2.27 4.53,1.42 9.2,1.6 13.83,0.6 2.26,-0.5 3.46,0.2 4.2,2.4 2.85,8.54 6.5,16.82 8.36,25.7 0.46,2.2 0.65,3.67 -2.1,4.6 -6.25,2.13 -9.97,7.83 -9.58,14.27 0.1,1.48 0.45,2.7 -1.23,3.5 -1.62,0.8 -2.92,0.6 -4.2,-0.65 -3.75,-3.67 -8.17,-4.95 -13.25,-3.43 -2.06,0.6 -2.27,-0.7 -2.65,-2.15 -1.2,-4.6 -0.3,-9.3 -0.75,-14.26zM404.8,146c4.76,5.9 7.96,12.4 10.48,19.1 2.74,7.28 4.54,14.88 3.68,22.82 -0.3,2.85 -0.9,5.56 -4,6.82 -3.28,1.34 -3.4,3.47 -1.8,6.34 3.14,5.62 2.77,11.32 -0.07,16.96 -1.5,2.96 -8.94,4.9 -11.66,3.04 -1.6,-1.1 -1.1,-2.83 -0.97,-4.3 1.23,-14.5 2.45,-29.04 3.86,-43.55 0.7,-7.15 -0.15,-14.25 -0.17,-21.37 0,-1.78 -0.6,-3.66 0.63,-5.87z" />
|
||||
<!-- Lil' thing on a tail :3 -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_2"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M51.52,396.74c0.43,-2.54 1.1,-6.2 1.68,-9.9 0.2,-1.23 0.3,-2.63 -1.12,-3.23 -1.57,-0.64 -2.23,0.58 -2.75,1.76 -1,2.3 -2.17,4.36 -4.08,5.67 -1.14,0.78 -3.46,0.75 -4.78,-0.32 -1.45,-1.15 -1.46,-4.5 -0.8,-5.66 1.9,-3.2 4.4,-4.7 7.1,-7.43 2.95,-2.97 2.54,-4.02 -1.5,-5.1 -2.06,-0.56 -4.63,-0.7 -4.78,-3.57 -0.15,-2.66 1.78,-4.14 3.87,-5.36 1.8,-1.05 3.76,-1.4 5.83,-1.27 5.07,0.3 5.65,1.1 4.22,6 -2.34,8 -1.04,11.46 6.18,16.34 2.75,1.86 4.46,8.95 2.84,12.9 -1.3,3.23 -3.68,5.8 -6.4,7.9 -2.08,1.63 -3.76,0.78 -4.77,-1.54 -0.84,-1.93 -0.64,-3.97 -0.75,-7.16z" />
|
||||
<!-- Lil' fingers -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_light_color_1"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M312.62,450.27c-2.06,-0.46 -5.12,0.7 -5.7,-1.1 -0.82,-2.5 2.33,-3.64 4.03,-5 3.94,-3.15 6.66,-2.98 8.7,0.15 2.13,3.22 1.33,5.05 -2.53,5.63 -1.53,0.23 -3.1,0.22 -4.5,0.32zM157.95,460.62c-5.3,-0.4 -9.72,-1.5 -14.06,-2.98 -2.02,-0.67 -1.86,-1.5 -0.45,-2.87 4.25,-4.1 8.5,-3.86 11.94,0.94 0.94,1.33 1.52,2.9 2.55,4.92zM174.74,463.44c1.64,-3.02 2.93,-4.8 5.17,-5.88 4.1,-1.94 7.56,-0.25 8.52,4.18 0.42,1.9 -0.87,1.67 -1.87,1.68 -3.67,0.06 -7.34,0.02 -11.8,0.02zM336.16,448.93c1.17,-5.2 4.6,-7.28 9.25,-7.9 0.8,-0.1 1.53,0.08 2.07,0.75 0.48,0.62 0.23,1.2 -0.2,1.63 -3.03,2.96 -5.6,6.8 -11.1,5.53zM391.76,359.1c-3.24,1.28 -6.07,1.93 -8.98,0.53 -0.94,-0.45 -2.2,-0.8 -1.97,-2.2 0.18,-1.06 1.22,-1.28 2.12,-1.5 3.43,-0.87 6.42,-0.48 8.84,3.18zM406.75,352.33c0,-5.14 1.85,-7.8 5.74,-8.94 0.8,-0.24 1.93,-0.62 2.46,0.5 0.4,0.8 -0.26,1.53 -0.8,2.02 -2.18,1.95 -4.42,3.83 -7.4,6.4zM209.56,454.67c-0.23,2.68 -3.84,6.76 -5.77,6.53 -1,-0.12 -1.2,-0.7 -1.16,-1.6 0.1,-1.9 4.42,-6.72 5.9,-6.55 1.04,0.12 1.15,0.78 1.02,1.62z" />
|
||||
<!-- Cross inside the speech bubble -->
|
||||
<path
|
||||
android:fillColor="#F45353"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M534.5,201.3c-0.05,1.62 -5.06,4.07 -6.87,5.16 -3.47,2.08 -6.9,4.23 -10.5,6.06 -3.32,1.7 -6.5,1.46 -8.1,-2.47 -1.65,-4.02 -6.47,-13.87 -6.47,-13.87s-8.8,5.63 -10.9,7.5c-2.45,2.23 -5.3,2.47 -7.54,0.35 -3.12,-2.97 -5.98,-6.35 -7.63,-10.44 -2.1,-5.12 -0.73,-8.4 4.3,-10.58 9.5,-4.25 8.57,-4.25 8.57,-4.25s0.94,0 -5.7,-8.16c-1.05,-1.52 -2.4,-2.9 -3.23,-4.53 -1.7,-3.44 -1.48,-6.54 2.1,-8.92 4.24,-2.83 8.37,-5.84 12.6,-8.72 3.92,-2.68 7.6,-1.25 8.83,3.33 0.27,1.03 4.82,13.3 4.82,13.3s3.28,-3.1 6.2,-6.6c2.96,-3.53 5.6,-6.68 9,-7.9 2.28,-0.84 5.9,1.65 7.12,3.17 3.27,4.1 7.4,8.32 10.23,12.75 2.3,3.6 0.2,6.83 -4,9.32 -3.86,2.27 -10.4,5.63 -14.6,7.62 3.72,4.45 8.52,10.54 9.96,12.94 0.98,1.6 1.78,2.35 1.8,4.95z" />
|
||||
<!-- Inner lightning part -->
|
||||
<path
|
||||
android:fillColor="#FDED01"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M392.36,474.27c-1.67,-3.3 -3.37,-5.32 2.46,-9.24 4.87,-3.28 3.88,-4.96 0.05,-8.64 -6.18,-5.92 -13.7,-11.35 -19.86,-16.35 -4.12,-3.36 -5.04,-8.04 -3.25,-12.74 1.84,-4.86 3.3,-9.92 4.43,-15 0.88,-3.92 1.57,-9.7 13.2,-4.5 16.55,7.4 13.85,9.62 8.22,20.8 -3.05,6.05 -2.17,9.5 4.6,11.84 9.85,4.25 12.58,6.6 11.1,14.06 -2.53,12.68 -7.05,41.66 -9.94,41.67 -2.45,0 -7.93,-15.82 -11,-21.9zM443.2,491.03c-2.34,-0.08 -2.85,-19.2 -3.6,-25.64 -0.4,-3.54 3.07,-6.3 5.6,-6.9 10.02,-2.28 10.67,-0.48 8.92,-10.75 -0.12,-0.7 -0.34,-1.38 -0.45,-2.08 -1.47,-9.52 -1,-11.12 8.5,-12.67 16.6,-2.7 17.4,-0.98 14.57,15.65 -0.7,4.2 -1.68,8.4 -2.1,12.63 -0.45,4.57 -2.8,6.07 -7.07,5.62 -12.44,-1.3 -14.94,2.13 -18.24,11.3 -0.83,2.32 -4.22,12.9 -6.12,12.83zM380.22,506.38c-2.67,1.2 -10.35,-9.17 -13.22,-10.96 -1.65,-1.02 -5.03,-2.06 -10.26,7.06 -1.2,2.94 -2.98,1.02 -4.18,-0.6 -6.08,-8.14 -12.07,-16.36 -18.26,-24.42 -2.83,-3.67 -5.9,-6.33 2.7,-11.64 9.4,-5.8 9.5,-5.05 16.23,9.2 3.83,8.1 6.77,9.04 12.77,3.96 2.78,-2.24 4.18,-1.42 5.24,1.4 2.14,5.7 11.4,24.9 8.98,26z" />
|
||||
<!-- Closer arm border and chest thingy -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M210.54,346.53c-1.04,-10.87 -1.55,-21.76 -1,-32.67 0.3,-6.02 0.06,-12.27 3.43,-17.66 0.7,-1.14 0.3,-4.48 3.4,-2.9 2.4,1.2 3.74,3.16 2.36,5.73 -3.3,6.14 -2.77,12.68 -2.3,19.18 0.75,10.23 1.36,20.45 1.57,30.7 0.13,6.7 -1.3,13.33 -2.94,19.6 -1.1,4.25 -6.76,6.1 -11.14,7.7 -14.25,5.15 -28.7,4.03 -43.18,1.05 -4.4,-0.9 -8.8,-1.9 -13.13,-3.14 -12.8,-3.64 -21.36,-14.9 -22.23,-29.2 -1.33,-21.93 3.8,-42.26 15.37,-60.96 2.07,-3.34 4.55,-6.32 7.7,-8.7 1.12,-0.88 2.48,-1.9 3.7,-0.52 1.15,1.3 0.18,2.68 -0.76,3.74 -11.3,12.77 -15.1,28.64 -18.66,44.64 -2.04,9.1 -0.17,17.94 1.43,26.8 0.28,1.57 1,2.22 2.96,1.74 10.44,-2.54 18.43,3.77 19.02,14.98 0.1,2.15 -0.02,3.95 2.7,4.6 2.68,0.6 3.1,-1.24 3.93,-2.92 4.6,-9.3 13.3,-10.46 20.12,-2.64 1.32,1.5 2.54,3.24 3.26,5.08 1.04,2.65 2.88,2.18 4.92,2 2.46,-0.2 1.8,-1.85 1.96,-3.36 0.86,-7.92 7.08,-13.4 14.82,-12.84 2.32,0.17 2.73,-0.7 2.72,-2.53 0,-2.5 0,-4.98 0,-7.47zM308.06,332.2c-0.12,6.25 -2.05,10.53 -6.22,13.6 -1.52,1.1 -3.7,2.1 -5.26,1.3 -4.14,-2.1 -6.18,-0.1 -8.64,2.88 -3.26,3.96 -7.98,4.98 -12.76,3.6 -4.4,-1.26 -5.85,-5.44 -6.63,-9.4 -0.6,-3 -1.15,-3.68 -4.4,-2.7 -9.76,2.93 -14.16,-1.63 -12,-11.66 1,-4.58 2.56,-8.65 6.57,-11.36 1.13,-0.77 2.5,-1.76 3.74,-0.3 1,1.17 0.15,2.4 -0.62,3.36 -2.62,3.28 -3.73,7.05 -4.08,11.2 -0.23,2.62 0.6,3.44 3.14,2.85 2,-0.47 3.8,-1.23 5.64,-2.13 5.07,-2.5 7.27,-1.12 7.55,4.4 0.08,1.86 0.33,3.73 0.8,5.5 1.24,4.95 4.83,5.96 8.48,2.23 1.82,-1.86 3.06,-4.3 4.58,-6.44 1.9,-2.7 4,-3.1 6.62,-0.78 3.23,2.9 4.34,2.52 6.06,-1.47 0.78,-1.8 0.67,-3.66 0.7,-5.5 0,-2.2 0.3,-4.33 2.96,-4.42 2.47,-0.08 3.38,1.84 3.66,4.04 0.1,0.77 0.13,1.54 0.1,1.2z" />
|
||||
<!-- Trunk stripe -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M372.7,246.14c-6.72,-2.18 -13.42,0 -20.2,1.85 -2.07,0.55 -4.3,0.64 -6.45,0.8 -0.93,0.06 -1.9,-0.37 -2.2,-1.4 -0.32,-1.08 0.37,-1.85 1.22,-2.25 8.34,-3.92 16.8,-7.33 26.32,-6.44 1.6,0.15 2.97,0.8 4.15,1.9 1.13,1.08 1.6,2.3 1,3.8 -0.63,1.53 -1.94,1.88 -3.84,1.74z" />
|
||||
<!-- Closer eye -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M286.42,191.5c-0.25,5.12 -3.8,9 -7.9,8.64 -4.02,-0.35 -7.08,-3.9 -6.9,-8.03 0.2,-4.75 4.3,-8.5 8.97,-8.18 3.56,0.24 6.02,3.44 5.82,7.6z" />
|
||||
<!-- Further eye -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M386.43,187.58c-0.06,3.9 -3.55,7.14 -7.63,7.06 -3.82,-0.08 -6.46,-3 -6.34,-7.05 0.14,-4.75 3.54,-8.84 7.25,-8.73 3.3,0.1 6.8,4.63 6.73,8.7z" />
|
||||
<!-- Body stripe -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_1"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M220.7,121.5c-3.06,4.42 -5.13,10.57 -10.46,14.47 -1.03,0.75 -2.34,1 -3.45,0 -1.06,-0.92 -1.27,-2.26 -0.8,-3.42 2.25,-5.68 5.84,-10.54 9.74,-15.17 0.84,-1 2.2,-1.16 3.44,-0.54 1.5,0.76 1.54,2.2 1.52,4.66z" />
|
||||
<!-- Trunk stripe -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M356.87,266.8c-0.66,-0.13 -1.88,-0.28 -3.06,-0.6 -0.9,-0.26 -1.68,-0.86 -1.7,-1.94 0,-1.05 0.65,-1.7 1.6,-2.05 4.9,-1.86 9.88,-3.6 15.1,-4.36 2.24,-0.33 3.98,0.7 4.4,3.1 0.47,2.52 -1.06,3.74 -3.33,4.08 -4.13,0.62 -8.28,1.13 -13,1.77z" />
|
||||
<!-- Body stripes -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_1"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M189.06,292.78c1.26,-4.3 3.43,-8.9 6.02,-13.28 0.6,-1 1.7,-1.37 2.85,-0.8 1.37,0.66 2.28,1.83 1.88,3.35 -1.2,4.63 -2.33,9.3 -4.73,13.5 -0.8,1.4 -2.04,2.48 -3.84,1.68 -1.57,-0.7 -2.17,-2.1 -2.17,-4.45zM198.63,185.98c-0.63,4.92 -2.85,9.2 -4.9,13.5 -0.66,1.33 -2.2,1.65 -3.68,1 -1.26,-0.58 -1.86,-1.58 -1.68,-3 0.62,-4.82 2.53,-9.23 4.37,-13.64 0.58,-1.4 1.85,-2.1 3.42,-1.76 2.12,0.5 2.25,2.3 2.47,3.9zM182.57,137.72c-2.2,-0.14 -3.55,-1.7 -2.52,-4 2.05,-4.5 4.26,-9 8.27,-12.18 1.23,-0.97 2.72,-1.88 4.22,-0.62 1.46,1.23 1.03,2.8 0.14,4.2 -2.14,3.43 -4.27,6.86 -6.46,10.25 -0.75,1.17 -1.6,2.33 -3.65,2.35zM129.1,250.15c1.57,-3.46 2.86,-7.78 5.6,-11.37 0.87,-1.13 2.3,-1.77 3.74,-1 1.53,0.85 2.22,2.4 1.6,3.97 -1.57,4.02 -3.28,8 -5.15,11.87 -0.62,1.28 -2.08,2 -3.6,1.42 -1.85,-0.7 -2.23,-2.38 -2.2,-4.9zM104.77,259.68c1.02,-4.7 3.63,-8.9 6.3,-13.1 0.7,-1.1 2.08,-1.3 3.35,-0.68 1.3,0.64 1.7,1.9 1.44,3.15 -1,5.1 -3.78,9.45 -6.2,13.92 -0.62,1.14 -2.1,1.3 -3.34,0.63 -1.46,-0.77 -1.5,-2.22 -1.55,-3.92zM196.4,405.28c0.33,-2.06 -0.65,-5.15 2.86,-5.25 3,-0.1 3.44,2.43 3.8,4.9 0.45,3.2 1.3,6.35 1.77,9.56 0.22,1.56 -0.16,3.2 -2.06,3.7 -1.83,0.46 -2.9,-0.64 -3.7,-2.1 -1.82,-3.35 -2.6,-6.95 -2.66,-10.82zM179.67,166.87c0.44,-5.7 2.9,-9.64 5.6,-13.45 0.94,-1.34 2.5,-1.94 4.1,-1.02 1.45,0.83 1.62,2.32 1.07,3.68 -1.54,3.88 -3.14,7.75 -4.92,11.52 -0.7,1.5 -2.18,2.23 -3.92,1.72 -1.65,-0.48 -1.94,-1.82 -1.93,-2.45zM189.68,317.63c-0.5,3.56 -0.88,7.1 -1.57,10.57 -0.33,1.66 -1.24,3.36 -3.44,3.03 -1.94,-0.3 -2.9,-1.72 -3.07,-3.58 -0.45,-4.6 1.1,-8.85 2.43,-13.12 0.48,-1.52 1.94,-1.97 3.45,-1.5 2.4,0.72 1.8,2.93 2.2,4.6zM130.33,224.68c-2.6,-0.24 -3.46,-1.8 -2.67,-3.9 1.44,-3.83 3.92,-7.07 6.97,-9.77 1.3,-1.13 3.18,-1.62 4.7,-0.2 1.46,1.4 1.22,3.15 0.2,4.7 -1.55,2.33 -3.16,4.63 -4.87,6.84 -1.1,1.4 -2.68,2.08 -4.33,2.34zM169.37,397.9c0,-1.08 -0.06,-2.17 0.02,-3.25 0.07,-1.35 0.73,-2.4 2.1,-2.73 1.48,-0.36 2.36,0.6 2.94,1.74 1.9,3.8 2.58,7.94 2.93,12.12 0.12,1.52 -0.92,2.72 -2.54,2.78 -1.8,0.08 -3.44,-0.6 -4.08,-2.46 -0.92,-2.64 -1.56,-5.36 -1.38,-8.2zM117.86,285.05c-0.43,3.52 -2.02,6.88 -3.73,10.17 -0.63,1.2 -1.73,2.28 -3.42,1.68 -1.5,-0.54 -2.22,-1.76 -2.12,-3.26 0.3,-4.27 2.1,-8.04 4.38,-11.56 0.74,-1.13 2.13,-1.3 3.38,-0.83 1.64,0.63 1.5,2.15 1.52,3.8zM175.57,295.8c-1.7,4.22 -3.23,8.28 -5,12.25 -0.47,1.1 -1.8,1.05 -2.93,0.7 -1.17,-0.34 -2.04,-1.23 -1.84,-2.38 0.78,-4.43 1.38,-8.97 4.38,-12.62 0.95,-1.15 2.26,-1.74 3.74,-0.86 1.15,0.68 1.8,1.7 1.65,2.9z" />
|
||||
<!-- Body stripe -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_dark_body_color_1"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M181.5,425.72c0,-0.68 -0.03,-1.15 0.02,-1.6 0.25,-2.13 0.2,-4.94 3,-4.93 2.4,0 3.3,2.43 3.5,4.74 0.2,2.6 1.3,5.1 0.78,7.77 -0.3,1.64 -1.06,3.03 -2.83,3.24 -1.84,0.22 -2.82,-1.08 -3.32,-2.63 -0.7,-2.2 -1.3,-4.44 -1.14,-6.58z" />
|
||||
<!-- Trunk stripe -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_border_color"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M366.4,283.86c-1.87,0.13 -3.4,-0.38 -4.03,-2.33 -0.58,-1.8 0.6,-2.86 1.86,-3.84 2.32,-1.82 5.02,-2.47 7.84,-2.08 1.95,0.26 3.48,1.53 3.62,3.64 0.14,2.24 -1.35,3.3 -3.4,3.63 -1.97,0.33 -3.94,0.64 -5.9,0.96z" />
|
||||
<!-- Closer arm fingers -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_light_color_1"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M140.6,354.95c4.73,0.06 9.56,5.57 9.4,10.45 -0.05,1.58 -0.64,2.17 -1.87,1.56 -4.02,-2.02 -8.16,-3.98 -10.1,-8.5 -1.2,-2.77 -0.6,-3.54 2.58,-3.5zM166.22,371.58c0.93,-3.5 3.02,-5.46 6.4,-5.54 4.37,-0.1 5.93,3.26 7.34,6.6 -1.4,0.72 -9.28,0.2 -13.74,-1.06zM198.66,371.1c-1.6,-0.1 -1.43,-0.54 -1.37,-1.52 0.13,-2.68 5,-7.9 7.56,-8.02 1.67,-0.07 3.13,0.75 3.68,2.27 2.08,5.77 -7.72,7.4 -9.88,7.28z" />
|
||||
<!-- ??? What's this?-->
|
||||
<path
|
||||
android:fillColor="#ADC7BA"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M175.7,372.76c1.42,-0.03 2.84,-0.07 4.26,-0.1" />
|
||||
<!-- Closer cable part -->
|
||||
<path
|
||||
android:fillColor="@color/elephant_friend_accent_color"
|
||||
android:pathData="M288.17,570.5c-12.3,0 -24.53,-1.8 -35.3,-6.22 -2.82,-1.16 -8.25,-3.4 -13.7,-7.3 -9.7,-1.62 -19.28,-4.92 -27.95,-9.94 -17.26,-10 -34.4,-25.67 -48.2,-38.26 -3.87,-3.54 -7.52,-7.78 -10.6,-10.45 -11.05,-9.57 -41.26,-24.33 -63.54,-24.33 -0.05,0 -0.1,0 -0.13,0 -21.1,0 -49.48,10.67 -61.18,26.37 -1.56,2.08 -5.9,5.54 -11.53,3.2 -6.9,-2.9 -7.12,-8.33 -5.3,-12.35C18.97,472.94 62.47,456 88.7,456c0.06,0 0.1,0 0.16,0 25.63,0 60.5,15.28 75.8,28.55 3.27,2.82 7.02,6.52 11,10.15 13.1,11.98 29.42,27.04 44.93,36 0.98,0.6 2,1.2 3,1.7 -2.25,-19.02 8.88,-44.9 38.96,-54.04 12.8,-3.88 25.97,2.37 34.4,16.27 9.1,14.93 14,33.56 0.5,47.4 -3.85,3.93 -8.5,7.16 -13.73,9.66 16.06,0.66 33,-2.57 45.4,-6.66 5.04,-1.65 14.67,-5.88 18.98,-7.65 5.9,-2.44 9.57,-3.24 14.94,-4.05 5.32,-0.8 7.05,12.32 5.2,15.9 -0.56,1.08 -8.24,3.48 -11.37,4.67 -1.68,0.64 -16.2,7.03 -21.88,8.9 -13.27,4.37 -30.1,7.67 -46.83,7.67zM246.81,539.1c14.85,1.46 29.3,-1.97 37.26,-10.14 6.54,-6.7 2.2,-16.86 -3.07,-25.54 -1.46,-2.37 -6.66,-9.04 -13,-7.12 -21.37,6.48 -27.76,24.98 -25.65,34.94 0.6,2.9 2.06,5.48 4.46,7.85z" />
|
||||
</vector>
|
|
@ -8,7 +8,7 @@
|
|||
<include layout="@layout/toolbar_basic" />
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/lists_recycler"
|
||||
android:id="@+id/listsRecycler"
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
|
@ -17,7 +17,7 @@
|
|||
app:layout_constraintTop_toBottomOf="@id/appbar" />
|
||||
|
||||
<ProgressBar
|
||||
android:id="@+id/progress_bar"
|
||||
android:id="@+id/progressBar"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
|
@ -26,4 +26,15 @@
|
|||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:visibility="visible" />
|
||||
|
||||
<com.keylesspalace.tusky.view.BackgroundMessageView
|
||||
android:id="@+id/messageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
|
@ -1,6 +1,19 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/recyclerView"
|
||||
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.recyclerview.widget.RecyclerView
|
||||
android:id="@+id/recyclerView"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent" />
|
||||
|
||||
<com.keylesspalace.tusky.view.BackgroundMessageView
|
||||
android:id="@+id/messageView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="center"
|
||||
android:visibility="gone"
|
||||
tools:visibility="visible" />
|
||||
</FrameLayout>
|
|
@ -1,6 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
|
@ -25,16 +26,17 @@
|
|||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/nothing_message"
|
||||
<com.keylesspalace.tusky.view.BackgroundMessageView
|
||||
android:id="@+id/statusView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawablePadding="32dp"
|
||||
android:text="@string/footer_empty"
|
||||
android:textAlignment="center"
|
||||
android:textSize="?attr/status_text_medium"
|
||||
android:src="@android:color/transparent"
|
||||
android:visibility="gone"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintLeft_toLeftOf="parent"
|
||||
app:layout_constraintRight_toRightOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent" />
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
tools:src="@drawable/elephant_error"
|
||||
tools:visibility="visible"/>
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
26
app/src/main/res/layout/view_background_message.xml
Normal file
26
app/src/main/res/layout/view_background_message.xml
Normal file
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<merge xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/messageTextView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawablePadding="16dp"
|
||||
android:lineSpacingMultiplier="1.1"
|
||||
android:paddingLeft="16dp"
|
||||
android:paddingTop="16dp"
|
||||
android:paddingRight="16dp"
|
||||
android:textAlignment="center"
|
||||
android:textSize="?attr/status_text_medium"
|
||||
tools:drawableTop="@drawable/elephant_offline"
|
||||
tools:text="@string/error_network" />
|
||||
|
||||
<Button
|
||||
android:id="@+id/button"
|
||||
style="@style/TuskyButton.Outlined"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="8dp"
|
||||
android:text="@string/action_retry" />
|
||||
</merge>
|
|
@ -1,6 +1,7 @@
|
|||
<resources>
|
||||
|
||||
<string name="error_generic">An error occurred.</string>
|
||||
<string name="error_network">A network error occurred! Please check your connection and try again!</string>
|
||||
<string name="error_empty">This cannot be empty.</string>
|
||||
<string name="error_invalid_domain">Invalid domain entered</string>
|
||||
<string name="error_failed_app_registration">Failed authenticating with that instance.</string>
|
||||
|
@ -51,6 +52,7 @@
|
|||
<string name="status_content_show_more">Expand</string>
|
||||
<string name="status_content_show_less">Collapse</string>
|
||||
|
||||
<string name="message_empty">Nothing here.</string>
|
||||
<string name="footer_empty">Nothing here. Pull down to refresh!</string>
|
||||
|
||||
<string name="notification_reblog_format">%s boosted your toot</string>
|
||||
|
|
Loading…
Reference in a new issue