Search in sources :

Example 1 with AvatarHandler

use of net.iGap.helper.avatar.AvatarHandler in project iGap-Android by KianIranian-STDG.

the class TabItem method init.

private void init(@Nullable AttributeSet attributeSet) {
    parseAttr(attributeSet);
    if (haveAvatarImage) {
        if (imageView == null) {
            imageView = new CircleImageView(getContext());
            imageView.setBackgroundResource(new Theme().getUserProfileTabSelector(getContext()));
            imageView.setPadding((int) getResources().getDimension(R.dimen.dp2), (int) getResources().getDimension(R.dimen.dp2), (int) getResources().getDimension(R.dimen.dp2), (int) getResources().getDimension(R.dimen.dp2));
            if (avatarHandler == null) {
                avatarHandler = new AvatarHandler();
                avatarHandler.registerChangeFromOtherAvatarHandler();
                avatarHandler.getAvatar(new ParamWithAvatarType(imageView, AccountManager.getInstance().getCurrentUser().getId()).avatarType(AvatarHandler.AvatarType.USER).showMain());
            }
        }
    } else {
        if (imageView == null)
            imageView = new AppCompatImageView(getContext());
    }
    if (textView == null)
        textView = new AppCompatTextView(getContext());
    textView.setTypeface(ResourcesCompat.getFont(getContext(), R.font.main_font_bold));
    textView.setText(text);
    int[][] states = new int[][] { // selected
    new int[] { android.R.attr.state_selected }, // none
    new int[] { -android.R.attr.state_selected } };
    int[] colors = new int[] { new Theme().getAccentColor(textView.getContext()), new Theme().getSubTitleColor(textView.getContext()) };
    ColorStateList myList = new ColorStateList(states, colors);
    textView.setTextColor(myList);
    textView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 9);
    addView(imageView);
    addView(textView);
    setOnClickListener(this);
}
Also used : CircleImageView(net.iGap.module.CircleImageView) AppCompatTextView(androidx.appcompat.widget.AppCompatTextView) Theme(net.iGap.module.Theme) ColorStateList(android.content.res.ColorStateList) AvatarHandler(net.iGap.helper.avatar.AvatarHandler) ParamWithAvatarType(net.iGap.helper.avatar.ParamWithAvatarType) AppCompatImageView(androidx.appcompat.widget.AppCompatImageView)

Example 2 with AvatarHandler

use of net.iGap.helper.avatar.AvatarHandler in project iGap-Android by KianIranian-STDG.

the class TabItem method onAttachedToWindow.

@Override
protected void onAttachedToWindow() {
    super.onAttachedToWindow();
    if (haveAvatarImage && avatarHandler == null) {
        avatarHandler = new AvatarHandler();
        avatarHandler.registerChangeFromOtherAvatarHandler();
        avatarHandler.getAvatar(new ParamWithAvatarType(imageView, AccountManager.getInstance().getCurrentUser().getId()).avatarType(AvatarHandler.AvatarType.USER).showMain());
    }
}
Also used : AvatarHandler(net.iGap.helper.avatar.AvatarHandler) ParamWithAvatarType(net.iGap.helper.avatar.ParamWithAvatarType)

Example 3 with AvatarHandler

use of net.iGap.helper.avatar.AvatarHandler in project iGap-Android by KianIranian-STDG.

the class ViewUserDialogFragment method onCreate.

@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    avatarHandler = new AvatarHandler();
}
Also used : AvatarHandler(net.iGap.helper.avatar.AvatarHandler)

Example 4 with AvatarHandler

use of net.iGap.helper.avatar.AvatarHandler in project iGap-Android by KianIranian-STDG.

the class MainFragment method confirmActionForClearHistoryOfSelected.

private void confirmActionForClearHistoryOfSelected() {
    int selectedRoomCount = selectedRoom.size();
    FrameLayout frameLayout = new FrameLayout(context);
    if (selectedRoomCount == 1) {
        RealmRoom room = DbManager.getInstance().doRealmTask(realm -> {
            return realm.where(RealmRoom.class).equalTo("id", selectedRoom.get(0)).findFirst();
        });
        CircleImageView imageView = new CircleImageView(context);
        AvatarHandler handler = new AvatarHandler();
        handler.getAvatar(new ParamWithAvatarType(imageView, room.getOwnerId()).avatarType(AvatarHandler.AvatarType.ROOM).showMain(), true);
        frameLayout.addView(imageView, LayoutCreator.createFrame(55, 55, isAppRtl ? Gravity.RIGHT : Gravity.LEFT, 8, 8, 8, 8));
    }
    TextView titleTextView = new TextView(context);
    titleTextView.setTypeface(ResourcesCompat.getFont(context, R.font.main_font_bold));
    if (selectedRoomCount == 1)
        titleTextView.setText(getString(R.string.clear_history));
    else
        titleTextView.setText(String.format(Locale.US, "%s %d %s", getString(R.string.clear_history), selectedRoomCount, getString(R.string.chat)));
    titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
    titleTextView.setTextColor(Theme.getInstance().getTitleTextColor(context));
    if (selectedRoomCount == 1) {
        frameLayout.addView(titleTextView, LayoutCreator.createFrame(LayoutCreator.MATCH_PARENT, LayoutCreator.MATCH_PARENT, isAppRtl ? Gravity.RIGHT : Gravity.LEFT, isAppRtl ? 20 : 70, 20, isAppRtl ? 70 : 20, 20));
    } else {
        frameLayout.addView(titleTextView, LayoutCreator.createFrame(LayoutCreator.MATCH_PARENT, LayoutCreator.MATCH_PARENT, isAppRtl ? Gravity.RIGHT : Gravity.LEFT, 20, 20, 20, 20));
    }
    TextView confirmTextView = new TextView(context);
    confirmTextView.setTypeface(ResourcesCompat.getFont(context, R.font.main_font));
    if (selectedRoomCount == 1) {
        RealmRoom realmRoom = getMessageDataStorage().getRoom(selectedRoom.get(0));
        String channelName = realmRoom.title;
        confirmTextView.setText(String.format(getString(R.string.clear_selected_history), channelName));
    } else {
        confirmTextView.setText(R.string.do_you_want_clear_history_this);
    }
    confirmTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
    confirmTextView.setTextColor(Theme.getInstance().getTitleTextColor(context));
    frameLayout.addView(confirmTextView, LayoutCreator.createFrame(LayoutCreator.MATCH_PARENT, LayoutCreator.MATCH_PARENT, isAppRtl ? Gravity.RIGHT : Gravity.LEFT, 20, 70, 20, 8));
    MaterialDialog.Builder builder = new MaterialDialog.Builder(G.fragmentActivity);
    builder.customView(frameLayout, false);
    builder.positiveText(G.fragmentActivity.getResources().getString(R.string.B_ok)).negativeText(G.fragmentActivity.getResources().getString(R.string.B_cancel)).negativeColor(Color.GRAY).onPositive((dialog, which) -> {
        dialog.dismiss();
        for (long roomId : selectedRoom) {
            clearHistory(roomId, false);
        }
        disableMultiSelect();
    }).onNegative((dialog, which) -> dialog.dismiss()).show();
}
Also used : AsyncTransaction(net.iGap.helper.AsyncTransaction) Bundle(android.os.Bundle) ProgressBar(android.widget.ProgressBar) NonNull(androidx.annotation.NonNull) Uri(android.net.Uri) FrameLayout(android.widget.FrameLayout) ImageView(android.widget.ImageView) ToolbarItem(net.iGap.messenger.ui.toolBar.ToolbarItem) Drawable(android.graphics.drawable.Drawable) G.isAppRtl(net.iGap.G.isAppRtl) GroupChatRole(net.iGap.module.enums.GroupChatRole) Fragment(androidx.fragment.app.Fragment) RoomListCell(net.iGap.adapter.items.cells.RoomListCell) CallActivity(net.iGap.activities.CallActivity) ContextCompat(androidx.core.content.ContextCompat) HelperFragment(net.iGap.helper.HelperFragment) Log(android.util.Log) OnDateChanged(net.iGap.observers.interfaces.OnDateChanged) HelperTracker(net.iGap.helper.HelperTracker) Realm(io.realm.Realm) BuildConfig(net.iGap.BuildConfig) NumberTextView(net.iGap.messenger.ui.toolBar.NumberTextView) RealmRoom(net.iGap.realm.RealmRoom) CHAT(net.iGap.proto.ProtoGlobal.Room.Type.CHAT) CHANNEL(net.iGap.proto.ProtoGlobal.Room.Type.CHANNEL) Nullable(androidx.annotation.Nullable) BackDrawable(net.iGap.messenger.ui.toolBar.BackDrawable) HelperPreferences(net.iGap.helper.HelperPreferences) SHP_SETTING(net.iGap.module.SHP_SETTING) AlphaAnimation(android.view.animation.AlphaAnimation) LinearLayoutManager(androidx.recyclerview.widget.LinearLayoutManager) EventManager(net.iGap.observers.eventbus.EventManager) Config(net.iGap.Config) ActivityMain(net.iGap.activities.ActivityMain) RoomListAdapter(net.iGap.adapter.RoomListAdapter) OnVersionCallBack(net.iGap.observers.interfaces.OnVersionCallBack) StatusBarUtil(net.iGap.module.StatusBarUtil) ArrayList(java.util.ArrayList) OnRemoveFragment(net.iGap.observers.interfaces.OnRemoveFragment) Toast(android.widget.Toast) ConnectionState(net.iGap.module.enums.ConnectionState) HelperGetAction(net.iGap.helper.HelperGetAction) LayoutCreator(net.iGap.helper.LayoutCreator) Toolbar(net.iGap.messenger.ui.toolBar.Toolbar) AvatarHandler(net.iGap.helper.avatar.AvatarHandler) FragmentMediaContainer(net.iGap.messenger.ui.components.FragmentMediaContainer) ToolBarMenuSubItem(net.iGap.messenger.ui.toolBar.ToolBarMenuSubItem) Gravity(android.view.Gravity) SharedPreferences(android.content.SharedPreferences) TypedValue(android.util.TypedValue) DbManager(net.iGap.module.accountManager.DbManager) EditText(android.widget.EditText) ValueAnimator(android.animation.ValueAnimator) LinearLayout(android.widget.LinearLayout) AppUtils(net.iGap.module.AppUtils) Date(java.util.Date) CircleImageView(de.hdodenhof.circleimageview.CircleImageView) Animator(android.animation.Animator) Theme(net.iGap.module.Theme) G(net.iGap.G) AccelerateDecelerateInterpolator(android.view.animation.AccelerateDecelerateInterpolator) Locale(java.util.Locale) View(android.view.View) Animation(android.view.animation.Animation) RecyclerView(androidx.recyclerview.widget.RecyclerView) ParamWithAvatarType(net.iGap.helper.avatar.ParamWithAvatarType) HelperGetDataFromOtherApp(net.iGap.helper.HelperGetDataFromOtherApp) ObjectAnimator(android.animation.ObjectAnimator) PassCode(net.iGap.model.PassCode) FragmentTransaction(androidx.fragment.app.FragmentTransaction) Objects(java.util.Objects) HelperLog(net.iGap.helper.HelperLog) List(java.util.List) TextView(android.widget.TextView) MusicPlayer(net.iGap.module.MusicPlayer) ClientGetRoomListResponse(net.iGap.response.ClientGetRoomListResponse) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) OnSetActionInRoom(net.iGap.observers.interfaces.OnSetActionInRoom) NotNull(org.jetbrains.annotations.NotNull) EditorInfo(android.view.inputmethod.EditorInfo) Snackbar(com.google.android.material.snackbar.Snackbar) Context(android.content.Context) ResourcesCompat(androidx.core.content.res.ResourcesCompat) GravityEnum(com.afollestad.materialdialogs.GravityEnum) Intent(android.content.Intent) Lifecycle(androidx.lifecycle.Lifecycle) SuppressLint(android.annotation.SuppressLint) GoToChatActivity(net.iGap.helper.GoToChatActivity) AnimatorSet(android.animation.AnimatorSet) RatingDialog(net.iGap.fragments.populaChannel.RatingDialog) RealmRoomMessage(net.iGap.realm.RealmRoomMessage) Build(android.os.Build) ToolbarItems(net.iGap.messenger.ui.toolBar.ToolbarItems) ActivityEnterPassCode(net.iGap.activities.ActivityEnterPassCode) ScanCodeQRCodePaymentFragment(net.iGap.fragments.qrCodePayment.fragments.ScanCodeQRCodePaymentFragment) IconView(net.iGap.messenger.ui.components.IconView) Color(android.graphics.Color) ProtoGlobal(net.iGap.proto.ProtoGlobal) R(net.iGap.R) ChannelChatRole(net.iGap.module.enums.ChannelChatRole) RequestClientGetRoomList(net.iGap.request.RequestClientGetRoomList) GROUP(net.iGap.proto.ProtoGlobal.Room.Type.GROUP) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) ParamWithAvatarType(net.iGap.helper.avatar.ParamWithAvatarType) SuppressLint(android.annotation.SuppressLint) CircleImageView(de.hdodenhof.circleimageview.CircleImageView) FrameLayout(android.widget.FrameLayout) NumberTextView(net.iGap.messenger.ui.toolBar.NumberTextView) TextView(android.widget.TextView) RealmRoom(net.iGap.realm.RealmRoom) AvatarHandler(net.iGap.helper.avatar.AvatarHandler)

Example 5 with AvatarHandler

use of net.iGap.helper.avatar.AvatarHandler in project iGap-Android by KianIranian-STDG.

the class MainFragment method confirmActionForRemoveSelected.

private void confirmActionForRemoveSelected() {
    int selectedRoomCount = selectedRoom.size();
    FrameLayout frameLayout = new FrameLayout(context);
    if (selectedRoomCount == 1) {
        CircleImageView imageView = new CircleImageView(context);
        AvatarHandler handler = new AvatarHandler();
        RealmRoom room = DbManager.getInstance().doRealmTask(realm -> {
            return realm.where(RealmRoom.class).equalTo("id", selectedRoom.get(0)).findFirst();
        });
        handler.getAvatar(new ParamWithAvatarType(imageView, room.getOwnerId()).avatarType(room.getType() != ProtoGlobal.Room.Type.CHAT ? AvatarHandler.AvatarType.ROOM : AvatarHandler.AvatarType.USER).showMain(), true);
        frameLayout.addView(imageView, LayoutCreator.createFrame(55, 55, isAppRtl ? Gravity.RIGHT : Gravity.LEFT, 8, 8, 8, 8));
    }
    TextView titleTextView = new TextView(context);
    if (selectedRoomCount == 1) {
        titleTextView.setText(getString(R.string.left));
    } else {
        titleTextView.setText(String.format(Locale.US, "%s %d %s", getString(R.string.delete), selectedRoomCount, getString(R.string.chat)));
    }
    titleTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
    titleTextView.setTypeface(ResourcesCompat.getFont(context, R.font.main_font_bold));
    titleTextView.setTextColor(Theme.getInstance().getTitleTextColor(context));
    int leftMargin = 20;
    int rightMargin = 20;
    if (selectedRoomCount == 1) {
        if (isAppRtl)
            rightMargin = 70;
        else
            leftMargin = 70;
    }
    frameLayout.addView(titleTextView, LayoutCreator.createFrame(LayoutCreator.MATCH_PARENT, LayoutCreator.MATCH_PARENT, isAppRtl ? Gravity.RIGHT : Gravity.LEFT, leftMargin, 20, rightMargin, 20));
    TextView confirmTextView = new TextView(context);
    if (selectedRoomCount == 1) {
        RealmRoom realmRoom = getMessageDataStorage().getRoom(selectedRoom.get(0));
        if (realmRoom != null) {
            String channelName = realmRoom.title;
            if (realmRoom.getType() == CHAT) {
                confirmTextView.setText(getString(R.string.delete_chat_content));
            } else {
                confirmTextView.setText(String.format(getString(R.string.leave_confirm), channelName));
            }
        }
    } else {
        confirmTextView.setText(R.string.delete_selected_chat);
    }
    confirmTextView.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16);
    confirmTextView.setTypeface(ResourcesCompat.getFont(context, R.font.main_font));
    confirmTextView.setTextColor(Theme.getInstance().getTitleTextColor(context));
    frameLayout.addView(confirmTextView, LayoutCreator.createFrame(LayoutCreator.MATCH_PARENT, LayoutCreator.MATCH_PARENT, isAppRtl ? Gravity.RIGHT : Gravity.LEFT, 20, 70, 20, 8));
    MaterialDialog.Builder builder = new MaterialDialog.Builder(G.fragmentActivity);
    builder.customView(frameLayout, false);
    builder.positiveText(G.fragmentActivity.getResources().getString(R.string.B_ok)).negativeText(G.fragmentActivity.getResources().getString(R.string.B_cancel)).negativeColor(Color.GRAY).onPositive((dialog, which) -> {
        dialog.dismiss();
        if (selectedRoom.size() > 0) {
            for (int i = 0; i < selectedRoom.size(); i++) {
                RealmRoom item = getMessageDataStorage().getRoom(selectedRoom.get(i));
                if (item != null) {
                    deleteChat(item, false);
                }
            }
        }
        disableMultiSelect();
    }).onNegative((dialog, which) -> dialog.dismiss()).show();
}
Also used : CircleImageView(de.hdodenhof.circleimageview.CircleImageView) AsyncTransaction(net.iGap.helper.AsyncTransaction) Bundle(android.os.Bundle) ProgressBar(android.widget.ProgressBar) NonNull(androidx.annotation.NonNull) Uri(android.net.Uri) FrameLayout(android.widget.FrameLayout) ImageView(android.widget.ImageView) ToolbarItem(net.iGap.messenger.ui.toolBar.ToolbarItem) Drawable(android.graphics.drawable.Drawable) G.isAppRtl(net.iGap.G.isAppRtl) GroupChatRole(net.iGap.module.enums.GroupChatRole) Fragment(androidx.fragment.app.Fragment) RoomListCell(net.iGap.adapter.items.cells.RoomListCell) CallActivity(net.iGap.activities.CallActivity) ContextCompat(androidx.core.content.ContextCompat) HelperFragment(net.iGap.helper.HelperFragment) Log(android.util.Log) OnDateChanged(net.iGap.observers.interfaces.OnDateChanged) HelperTracker(net.iGap.helper.HelperTracker) Realm(io.realm.Realm) BuildConfig(net.iGap.BuildConfig) NumberTextView(net.iGap.messenger.ui.toolBar.NumberTextView) RealmRoom(net.iGap.realm.RealmRoom) CHAT(net.iGap.proto.ProtoGlobal.Room.Type.CHAT) CHANNEL(net.iGap.proto.ProtoGlobal.Room.Type.CHANNEL) Nullable(androidx.annotation.Nullable) BackDrawable(net.iGap.messenger.ui.toolBar.BackDrawable) HelperPreferences(net.iGap.helper.HelperPreferences) SHP_SETTING(net.iGap.module.SHP_SETTING) AlphaAnimation(android.view.animation.AlphaAnimation) LinearLayoutManager(androidx.recyclerview.widget.LinearLayoutManager) EventManager(net.iGap.observers.eventbus.EventManager) Config(net.iGap.Config) ActivityMain(net.iGap.activities.ActivityMain) RoomListAdapter(net.iGap.adapter.RoomListAdapter) OnVersionCallBack(net.iGap.observers.interfaces.OnVersionCallBack) StatusBarUtil(net.iGap.module.StatusBarUtil) ArrayList(java.util.ArrayList) OnRemoveFragment(net.iGap.observers.interfaces.OnRemoveFragment) Toast(android.widget.Toast) ConnectionState(net.iGap.module.enums.ConnectionState) HelperGetAction(net.iGap.helper.HelperGetAction) LayoutCreator(net.iGap.helper.LayoutCreator) Toolbar(net.iGap.messenger.ui.toolBar.Toolbar) AvatarHandler(net.iGap.helper.avatar.AvatarHandler) FragmentMediaContainer(net.iGap.messenger.ui.components.FragmentMediaContainer) ToolBarMenuSubItem(net.iGap.messenger.ui.toolBar.ToolBarMenuSubItem) Gravity(android.view.Gravity) SharedPreferences(android.content.SharedPreferences) TypedValue(android.util.TypedValue) DbManager(net.iGap.module.accountManager.DbManager) EditText(android.widget.EditText) ValueAnimator(android.animation.ValueAnimator) LinearLayout(android.widget.LinearLayout) AppUtils(net.iGap.module.AppUtils) Date(java.util.Date) CircleImageView(de.hdodenhof.circleimageview.CircleImageView) Animator(android.animation.Animator) Theme(net.iGap.module.Theme) G(net.iGap.G) AccelerateDecelerateInterpolator(android.view.animation.AccelerateDecelerateInterpolator) Locale(java.util.Locale) View(android.view.View) Animation(android.view.animation.Animation) RecyclerView(androidx.recyclerview.widget.RecyclerView) ParamWithAvatarType(net.iGap.helper.avatar.ParamWithAvatarType) HelperGetDataFromOtherApp(net.iGap.helper.HelperGetDataFromOtherApp) ObjectAnimator(android.animation.ObjectAnimator) PassCode(net.iGap.model.PassCode) FragmentTransaction(androidx.fragment.app.FragmentTransaction) Objects(java.util.Objects) HelperLog(net.iGap.helper.HelperLog) List(java.util.List) TextView(android.widget.TextView) MusicPlayer(net.iGap.module.MusicPlayer) ClientGetRoomListResponse(net.iGap.response.ClientGetRoomListResponse) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) OnSetActionInRoom(net.iGap.observers.interfaces.OnSetActionInRoom) NotNull(org.jetbrains.annotations.NotNull) EditorInfo(android.view.inputmethod.EditorInfo) Snackbar(com.google.android.material.snackbar.Snackbar) Context(android.content.Context) ResourcesCompat(androidx.core.content.res.ResourcesCompat) GravityEnum(com.afollestad.materialdialogs.GravityEnum) Intent(android.content.Intent) Lifecycle(androidx.lifecycle.Lifecycle) SuppressLint(android.annotation.SuppressLint) GoToChatActivity(net.iGap.helper.GoToChatActivity) AnimatorSet(android.animation.AnimatorSet) RatingDialog(net.iGap.fragments.populaChannel.RatingDialog) RealmRoomMessage(net.iGap.realm.RealmRoomMessage) Build(android.os.Build) ToolbarItems(net.iGap.messenger.ui.toolBar.ToolbarItems) ActivityEnterPassCode(net.iGap.activities.ActivityEnterPassCode) ScanCodeQRCodePaymentFragment(net.iGap.fragments.qrCodePayment.fragments.ScanCodeQRCodePaymentFragment) IconView(net.iGap.messenger.ui.components.IconView) Color(android.graphics.Color) ProtoGlobal(net.iGap.proto.ProtoGlobal) R(net.iGap.R) ChannelChatRole(net.iGap.module.enums.ChannelChatRole) RequestClientGetRoomList(net.iGap.request.RequestClientGetRoomList) GROUP(net.iGap.proto.ProtoGlobal.Room.Type.GROUP) MaterialDialog(com.afollestad.materialdialogs.MaterialDialog) FrameLayout(android.widget.FrameLayout) NumberTextView(net.iGap.messenger.ui.toolBar.NumberTextView) TextView(android.widget.TextView) RealmRoom(net.iGap.realm.RealmRoom) AvatarHandler(net.iGap.helper.avatar.AvatarHandler) ParamWithAvatarType(net.iGap.helper.avatar.ParamWithAvatarType) SuppressLint(android.annotation.SuppressLint)

Aggregations

AvatarHandler (net.iGap.helper.avatar.AvatarHandler)11 ParamWithAvatarType (net.iGap.helper.avatar.ParamWithAvatarType)5 SharedPreferences (android.content.SharedPreferences)4 Nullable (androidx.annotation.Nullable)4 Theme (net.iGap.module.Theme)4 Animator (android.animation.Animator)3 AnimatorSet (android.animation.AnimatorSet)3 ObjectAnimator (android.animation.ObjectAnimator)3 ValueAnimator (android.animation.ValueAnimator)3 SuppressLint (android.annotation.SuppressLint)3 Context (android.content.Context)3 Intent (android.content.Intent)3 Color (android.graphics.Color)3 Drawable (android.graphics.drawable.Drawable)3 Uri (android.net.Uri)3 Build (android.os.Build)3 Bundle (android.os.Bundle)3 Log (android.util.Log)3 Gravity (android.view.Gravity)3 View (android.view.View)3