Search in sources :

Example 1 with SwitchCompat

use of android.support.v7.widget.SwitchCompat in project actor-platform by actorapp.

the class ProfileFragment method onCreateView.

@Override
public View onCreateView(final LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    uid = getArguments().getInt(EXTRA_UID);
    final UserVM user = users().get(uid);
    ArrayList<UserPhone> phones = user.getPhones().get();
    ArrayList<UserEmail> emails = user.getEmails().get();
    String about = user.getAbout().get();
    final String userName = user.getNick().get();
    final View res = inflater.inflate(R.layout.fragment_profile, container, false);
    //
    // Style Background
    //
    res.findViewById(R.id.container).setBackgroundColor(style.getMainBackgroundColor());
    res.findViewById(R.id.avatarContainer).setBackgroundColor(style.getToolBarColor());
    //
    // User Avatar
    //
    avatarView = (AvatarView) res.findViewById(R.id.avatar);
    avatarView.init(Screen.dp(48), 22);
    avatarView.bind(user.getAvatar().get(), user.getName().get(), user.getId());
    avatarView.setOnClickListener(v -> {
        startActivity(ViewAvatarActivity.viewAvatar(user.getId(), getActivity()));
    });
    //
    // User Name
    //
    TextView nameText = (TextView) res.findViewById(R.id.name);
    nameText.setTextColor(style.getProfileTitleColor());
    bind(nameText, user.getName());
    //
    // User Last Seen
    //
    TextView lastSeen = (TextView) res.findViewById(R.id.lastSeen);
    lastSeen.setTextColor(style.getProfileSubtitleColor());
    bind(lastSeen, user);
    //
    // Fab
    //
    FloatingActionButton fab = (FloatingActionButton) res.findViewById(R.id.fab);
    fab.setBackgroundTintList(new ColorStateList(new int[][] { new int[] { android.R.attr.state_pressed }, StateSet.WILD_CARD }, new int[] { ActorSDK.sharedActor().style.getFabPressedColor(), ActorSDK.sharedActor().style.getFabColor() }));
    fab.setRippleColor(ActorSDK.sharedActor().style.getFabPressedColor());
    fab.setOnClickListener(v -> startActivity(new Intent(getActivity(), ComposeActivity.class)));
    //
    // Remove Contact
    //
    final View removeContact = res.findViewById(R.id.addContact);
    final TextView addContactTitle = (TextView) removeContact.findViewById(R.id.addContactTitle);
    addContactTitle.setText(getString(R.string.profile_contacts_added));
    addContactTitle.setTextColor(style.getTextPrimaryColor());
    removeContact.setOnClickListener(v -> {
        execute(ActorSDK.sharedActor().getMessenger().removeContact(user.getId()));
    });
    bind(user.isContact(), (isContact, valueModel) -> {
        if (isContact) {
            removeContact.setVisibility(View.VISIBLE);
            //fab
            fab.setImageResource(R.drawable.ic_message_white_24dp);
            fab.setOnClickListener(view -> startActivity(Intents.openPrivateDialog(user.getId(), true, getActivity())));
        } else {
            removeContact.setVisibility(View.GONE);
            //fab
            fab.setImageResource(R.drawable.ic_person_add_white_24dp);
            fab.setOnClickListener(view -> execute(ActorSDK.sharedActor().getMessenger().addContact(user.getId())));
        }
    });
    //
    // New Message
    //
    View newMessageView = res.findViewById(R.id.newMessage);
    ImageView newMessageIcon = (ImageView) newMessageView.findViewById(R.id.newMessageIcon);
    TextView newMessageTitle = (TextView) newMessageView.findViewById(R.id.newMessageText);
    {
        Drawable drawable = getResources().getDrawable(R.drawable.ic_chat_black_24dp);
        drawable.mutate().setColorFilter(style.getSettingsIconColor(), PorterDuff.Mode.SRC_IN);
        newMessageIcon.setImageDrawable(drawable);
        newMessageTitle.setTextColor(style.getTextPrimaryColor());
    }
    newMessageView.setOnClickListener(v -> {
        startActivity(Intents.openPrivateDialog(user.getId(), true, getActivity()));
    });
    //
    // Voice Call
    //
    View voiceCallDivider = res.findViewById(R.id.voiceCallDivider);
    View voiceCallView = res.findViewById(R.id.voiceCall);
    if (ActorSDK.sharedActor().isCallsEnabled() && !user.isBot()) {
        ImageView voiceViewIcon = (ImageView) voiceCallView.findViewById(R.id.actionIcon);
        TextView voiceViewTitle = (TextView) voiceCallView.findViewById(R.id.actionText);
        Drawable drawable = getResources().getDrawable(R.drawable.ic_phone_white_24dp);
        drawable.mutate().setColorFilter(style.getSettingsIconColor(), PorterDuff.Mode.SRC_IN);
        voiceViewIcon.setImageDrawable(drawable);
        voiceViewTitle.setTextColor(style.getTextPrimaryColor());
        voiceCallView.setOnClickListener(v -> {
            execute(ActorSDK.sharedActor().getMessenger().doCall(user.getId()));
        });
    } else {
        voiceCallView.setVisibility(View.GONE);
        voiceCallDivider.setVisibility(View.GONE);
    }
    //
    // Video Call
    //
    View videoCallDivider = res.findViewById(R.id.videoCallDivider);
    View videoCallView = res.findViewById(R.id.videoCall);
    if (ActorSDK.sharedActor().isCallsEnabled() && !user.isBot()) {
        ImageView voiceViewIcon = (ImageView) videoCallView.findViewById(R.id.videoCallIcon);
        TextView voiceViewTitle = (TextView) videoCallView.findViewById(R.id.videoCallText);
        Drawable drawable = getResources().getDrawable(R.drawable.ic_videocam_white_24dp);
        drawable.mutate().setColorFilter(style.getSettingsIconColor(), PorterDuff.Mode.SRC_IN);
        voiceViewIcon.setImageDrawable(drawable);
        voiceViewTitle.setTextColor(style.getTextPrimaryColor());
        videoCallView.setOnClickListener(v -> {
            execute(ActorSDK.sharedActor().getMessenger().doVideoCall(user.getId()));
        });
    } else {
        videoCallView.setVisibility(View.GONE);
        videoCallDivider.setVisibility(View.GONE);
    }
    //
    // Contact Information
    //
    final LinearLayout contactsContainer = (LinearLayout) res.findViewById(R.id.contactsContainer);
    String aboutString = user.getAbout().get();
    boolean isFirstContact = aboutString == null || aboutString.isEmpty();
    //
    // About
    //
    bind(user.getAbout(), new ValueChangedListener<String>() {

        private View userAboutRecord;

        @Override
        public void onChanged(final String newUserAbout, Value<String> valueModel) {
            if (newUserAbout != null && newUserAbout.length() > 0) {
                if (userAboutRecord == null) {
                    userAboutRecord = buildRecordBig(newUserAbout, R.drawable.ic_info_outline_black_24dp, true, false, inflater, contactsContainer);
                } else {
                    ((TextView) userAboutRecord.findViewById(R.id.value)).setText(newUserAbout);
                }
                if (recordFieldWithIcon != null) {
                    recordFieldWithIcon.findViewById(R.id.recordIcon).setVisibility(View.INVISIBLE);
                }
            }
        }
    });
    if (!ActorSDK.sharedActor().isOnClientPrivacyEnabled() || user.isInPhoneBook().get()) {
        for (int i = 0; i < phones.size(); i++) {
            final UserPhone userPhone = phones.get(i);
            // Formatting Phone Number
            String _phoneNumber;
            try {
                Phonenumber.PhoneNumber number = PhoneNumberUtil.getInstance().parse("+" + userPhone.getPhone(), "us");
                _phoneNumber = PhoneNumberUtil.getInstance().format(number, PhoneNumberUtil.PhoneNumberFormat.INTERNATIONAL);
            } catch (NumberParseException e) {
                e.printStackTrace();
                _phoneNumber = "+" + userPhone.getPhone();
            }
            final String phoneNumber = _phoneNumber;
            String phoneTitle = userPhone.getTitle();
            // Trying to localize this
            if (phoneTitle.toLowerCase().equals("mobile phone")) {
                phoneTitle = getString(R.string.settings_mobile_phone);
            }
            View view = buildRecord(phoneTitle, phoneNumber, R.drawable.ic_import_contacts_black_24dp, isFirstContact, false, inflater, contactsContainer);
            if (isFirstContact) {
                recordFieldWithIcon = view;
            }
            view.setOnClickListener(v -> {
                new AlertDialog.Builder(getActivity()).setItems(new CharSequence[] { getString(R.string.phone_menu_call).replace("{0}", phoneNumber), getString(R.string.phone_menu_sms).replace("{0}", phoneNumber), getString(R.string.phone_menu_share).replace("{0}", phoneNumber), getString(R.string.phone_menu_copy) }, (dialog, which) -> {
                    if (which == 0) {
                        startActivity(new Intent(Intent.ACTION_DIAL).setData(Uri.parse("tel:+" + userPhone.getPhone())));
                    } else if (which == 1) {
                        startActivity(new Intent(Intent.ACTION_VIEW).setData(Uri.parse("sms:+" + userPhone.getPhone())));
                    } else if (which == 2) {
                        startActivity(new Intent(Intent.ACTION_SEND).setType("text/plain").putExtra(Intent.EXTRA_TEXT, getString(R.string.settings_share_text).replace("{0}", phoneNumber).replace("{1}", user.getName().get())));
                    } else if (which == 3) {
                        ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
                        ClipData clip = ClipData.newPlainText("Phone number", phoneNumber);
                        clipboard.setPrimaryClip(clip);
                        Snackbar.make(res, R.string.toast_phone_copied, Snackbar.LENGTH_SHORT).show();
                    }
                }).show().setCanceledOnTouchOutside(true);
            });
            view.setOnLongClickListener(v -> {
                ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
                ClipData clip = ClipData.newPlainText("Phone number", "+" + userPhone.getPhone());
                clipboard.setPrimaryClip(clip);
                Snackbar.make(res, R.string.toast_phone_copied, Snackbar.LENGTH_SHORT).show();
                return true;
            });
            isFirstContact = false;
        }
        for (int i = 0; i < emails.size(); i++) {
            final UserEmail userEmail = emails.get(i);
            View view = buildRecord(userEmail.getTitle(), userEmail.getEmail(), R.drawable.ic_import_contacts_black_24dp, isFirstContact, false, inflater, contactsContainer);
            if (isFirstContact) {
                recordFieldWithIcon = view;
            }
            view.setOnClickListener(v -> {
                new AlertDialog.Builder(getActivity()).setItems(new CharSequence[] { getString(R.string.email_menu_email).replace("{0}", userEmail.getEmail()), getString(R.string.phone_menu_copy) }, (dialog, which) -> {
                    if (which == 0) {
                        startActivity(new Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", userEmail.getEmail(), null)));
                    } else if (which == 1) {
                        ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
                        ClipData clip = ClipData.newPlainText("Email", userEmail.getEmail());
                        clipboard.setPrimaryClip(clip);
                        Snackbar.make(res, R.string.toast_email_copied, Snackbar.LENGTH_SHORT).show();
                    }
                }).show().setCanceledOnTouchOutside(true);
            });
            view.setOnLongClickListener(v -> {
                ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
                ClipData clip = ClipData.newPlainText("Email", "+" + userEmail.getEmail());
                clipboard.setPrimaryClip(clip);
                Snackbar.make(res, R.string.toast_email_copied, Snackbar.LENGTH_SHORT).show();
                return true;
            });
            isFirstContact = false;
        }
    }
    //
    // Username
    //
    final boolean finalIsFirstContact = isFirstContact;
    bind(user.getNick(), new ValueChangedListener<String>() {

        private View userNameRecord;

        @Override
        public void onChanged(final String newUserName, Value<String> valueModel) {
            if (newUserName != null && newUserName.length() > 0) {
                if (userNameRecord == null) {
                    userNameRecord = buildRecord(getString(R.string.nickname), "@" + newUserName, R.drawable.ic_import_contacts_black_24dp, finalIsFirstContact, false, inflater, contactsContainer);
                } else {
                    ((TextView) userNameRecord.findViewById(R.id.value)).setText(newUserName);
                }
                userNameRecord.setOnLongClickListener(v -> {
                    ClipboardManager clipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
                    ClipData clip = ClipData.newPlainText("Username", newUserName);
                    clipboard.setPrimaryClip(clip);
                    Snackbar.make(res, R.string.toast_nickname_copied, Snackbar.LENGTH_SHORT).show();
                    return true;
                });
                if (finalIsFirstContact) {
                    recordFieldWithIcon = userNameRecord;
                }
            }
        }
    });
    //
    // Settings
    //
    {
        //
        // Notifications
        //
        View notificationContainer = res.findViewById(R.id.notificationsCont);
        View notificationPickerContainer = res.findViewById(R.id.notificationsPickerCont);
        ((TextView) notificationContainer.findViewById(R.id.settings_notifications_title)).setTextColor(style.getTextPrimaryColor());
        final SwitchCompat notificationEnable = (SwitchCompat) res.findViewById(R.id.enableNotifications);
        Peer peer = Peer.user(user.getId());
        notificationEnable.setChecked(messenger().isNotificationsEnabled(peer));
        if (messenger().isNotificationsEnabled(peer)) {
            ViewUtils.showView(notificationPickerContainer, false);
        } else {
            ViewUtils.goneView(notificationPickerContainer, false);
        }
        notificationEnable.setOnCheckedChangeListener((buttonView, isChecked) -> {
            messenger().changeNotificationsEnabled(Peer.user(user.getId()), isChecked);
            if (isChecked) {
                ViewUtils.showView(notificationPickerContainer, false);
            } else {
                ViewUtils.goneView(notificationPickerContainer, false);
            }
        });
        notificationContainer.setOnClickListener(v -> notificationEnable.setChecked(!notificationEnable.isChecked()));
        ImageView iconView = (ImageView) res.findViewById(R.id.settings_notification_icon);
        Drawable drawable = DrawableCompat.wrap(getResources().getDrawable(R.drawable.ic_list_black_24dp));
        drawable.mutate();
        DrawableCompat.setTint(drawable, style.getSettingsIconColor());
        iconView.setImageDrawable(drawable);
        ((TextView) notificationPickerContainer.findViewById(R.id.settings_notifications_picker_title)).setTextColor(style.getTextPrimaryColor());
        notificationPickerContainer.setOnClickListener(view -> {
            Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION);
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true);
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
            Uri currentSound = null;
            String defaultPath = null;
            Uri defaultUri = Settings.System.DEFAULT_NOTIFICATION_URI;
            if (defaultUri != null) {
                defaultPath = defaultUri.getPath();
            }
            String path = messenger().getPreferences().getString("userNotificationSound_" + uid);
            if (path == null) {
                path = defaultPath;
            }
            if (path != null && !path.equals("none")) {
                if (path.equals(defaultPath)) {
                    currentSound = defaultUri;
                } else {
                    currentSound = Uri.parse(path);
                }
            }
            intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, currentSound);
            startActivityForResult(intent, SOUND_PICKER_REQUEST_CODE);
        });
        //
        // Block
        //
        View blockContainer = res.findViewById(R.id.blockCont);
        final TextView blockTitle = (TextView) blockContainer.findViewById(R.id.settings_block_title);
        blockTitle.setTextColor(style.getTextPrimaryColor());
        bind(user.getIsBlocked(), (val, valueModel) -> {
            blockTitle.setText(val ? R.string.profile_settings_unblock : R.string.profile_settings_block);
        });
        blockContainer.setOnClickListener(v -> {
            if (!user.getIsBlocked().get()) {
                AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
                builder.setMessage(getString(R.string.profile_settings_block_confirm).replace("{user}", user.getName().get())).setPositiveButton(R.string.dialog_yes, (dialog, which) -> {
                    execute(messenger().blockUser(user.getId()));
                    dialog.dismiss();
                }).setNegativeButton(R.string.dialog_cancel, (dialog, which) -> {
                    dialog.dismiss();
                }).show();
            } else {
                execute(messenger().unblockUser(user.getId()));
            }
        });
        ImageView blockIconView = (ImageView) res.findViewById(R.id.settings_block_icon);
        Drawable blockDrawable = DrawableCompat.wrap(getResources().getDrawable(R.drawable.ic_block_white_24dp));
        drawable.mutate();
        DrawableCompat.setTint(blockDrawable, style.getSettingsIconColor());
        blockIconView.setImageDrawable(blockDrawable);
    }
    //
    // Scroll Coordinate
    //
    final ScrollView scrollView = ((ScrollView) res.findViewById(R.id.scrollContainer));
    scrollView.getViewTreeObserver().addOnScrollChangedListener(() -> updateBar(scrollView.getScrollY()));
    updateBar(scrollView.getScrollY());
    return res;
}
Also used : AlertDialog(android.support.v7.app.AlertDialog) BaseFragment(im.actor.sdk.controllers.BaseFragment) LinearLayout(android.widget.LinearLayout) Bundle(android.os.Bundle) ViewAvatarActivity(im.actor.sdk.controllers.fragment.preview.ViewAvatarActivity) DrawableCompat(android.support.v4.graphics.drawable.DrawableCompat) ActorSDKMessenger.messenger(im.actor.sdk.util.ActorSDKMessenger.messenger) Uri(android.net.Uri) ImageView(android.widget.ImageView) ColorDrawable(android.graphics.drawable.ColorDrawable) Drawable(android.graphics.drawable.Drawable) Screen(im.actor.sdk.util.Screen) ColorStateList(android.content.res.ColorStateList) PhoneNumberUtil(com.google.i18n.phonenumbers.PhoneNumberUtil) ClipboardManager(android.content.ClipboardManager) View(android.view.View) Intents(im.actor.sdk.controllers.Intents) FloatingActionButton(android.support.design.widget.FloatingActionButton) UserPhone(im.actor.core.viewmodel.UserPhone) SwitchCompat(android.support.v7.widget.SwitchCompat) PorterDuff(android.graphics.PorterDuff) AppCompatActivity(android.support.v7.app.AppCompatActivity) ViewGroup(android.view.ViewGroup) StateSet(android.util.StateSet) TextView(android.widget.TextView) UserEmail(im.actor.core.viewmodel.UserEmail) Peer(im.actor.core.entity.Peer) Snackbar(android.support.design.widget.Snackbar) ValueChangedListener(im.actor.runtime.mvvm.ValueChangedListener) Context(android.content.Context) Intent(android.content.Intent) MenuItem(android.view.MenuItem) ArrayList(java.util.ArrayList) ClipData(android.content.ClipData) ViewUtils(im.actor.sdk.util.ViewUtils) MenuInflater(android.view.MenuInflater) Menu(android.view.Menu) AvatarView(im.actor.sdk.view.avatar.AvatarView) Settings(android.provider.Settings) ActionBar(android.support.v7.app.ActionBar) ActorSDK(im.actor.sdk.ActorSDK) ComposeActivity(im.actor.sdk.controllers.compose.ComposeActivity) LayoutInflater(android.view.LayoutInflater) ActorSDKMessenger.users(im.actor.sdk.util.ActorSDKMessenger.users) Color(android.graphics.Color) UserVM(im.actor.core.viewmodel.UserVM) R(im.actor.sdk.R) AlertDialog(android.support.v7.app.AlertDialog) ScrollView(android.widget.ScrollView) RingtoneManager(android.media.RingtoneManager) NumberParseException(com.google.i18n.phonenumbers.NumberParseException) Activity(android.app.Activity) Phonenumber(com.google.i18n.phonenumbers.Phonenumber) Value(im.actor.runtime.mvvm.Value) ColorStateList(android.content.res.ColorStateList) UserEmail(im.actor.core.viewmodel.UserEmail) Uri(android.net.Uri) UserPhone(im.actor.core.viewmodel.UserPhone) FloatingActionButton(android.support.design.widget.FloatingActionButton) TextView(android.widget.TextView) ImageView(android.widget.ImageView) ClipboardManager(android.content.ClipboardManager) Peer(im.actor.core.entity.Peer) ColorDrawable(android.graphics.drawable.ColorDrawable) Drawable(android.graphics.drawable.Drawable) Intent(android.content.Intent) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) AvatarView(im.actor.sdk.view.avatar.AvatarView) ScrollView(android.widget.ScrollView) UserVM(im.actor.core.viewmodel.UserVM) ScrollView(android.widget.ScrollView) NumberParseException(com.google.i18n.phonenumbers.NumberParseException) ClipData(android.content.ClipData) LinearLayout(android.widget.LinearLayout) Phonenumber(com.google.i18n.phonenumbers.Phonenumber) SwitchCompat(android.support.v7.widget.SwitchCompat)

Example 2 with SwitchCompat

use of android.support.v7.widget.SwitchCompat in project sensey by nisrulz.

the class TouchActivity method onCreate.

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_touch);
    // Init Sensey
    Sensey.getInstance().init(this);
    txtResult = (TextView) findViewById(R.id.textView_result);
    SwitchCompat swt6 = (SwitchCompat) findViewById(R.id.Switch6);
    swt6.setOnCheckedChangeListener(this);
    swt6.setChecked(false);
    SwitchCompat swt7 = (SwitchCompat) findViewById(R.id.Switch7);
    swt7.setOnCheckedChangeListener(this);
    swt7.setChecked(false);
}
Also used : SwitchCompat(android.support.v7.widget.SwitchCompat)

Example 3 with SwitchCompat

use of android.support.v7.widget.SwitchCompat in project android by owncloud.

the class ShareFileFragment method updatePublicShareSection.

/**
     * Updates in the UI the section about public share with the information in the current
     * public share bound to mFile, if any
     */
private void updatePublicShareSection() {
    if (mPublicShare != null && ShareType.PUBLIC_LINK.equals(mPublicShare.getShareType())) {
        /// public share bound -> expand section
        SwitchCompat shareViaLinkSwitch = getShareViaLinkSwitch();
        if (!shareViaLinkSwitch.isChecked()) {
            // set null listener before setChecked() to prevent infinite loop of calls
            shareViaLinkSwitch.setOnCheckedChangeListener(null);
            shareViaLinkSwitch.setChecked(true);
            shareViaLinkSwitch.setOnCheckedChangeListener(mOnShareViaLinkSwitchCheckedChangeListener);
        }
        getExpirationDateSection().setVisibility(View.VISIBLE);
        getPasswordSection().setVisibility(View.VISIBLE);
        if (mFile.isFolder() && !mCapabilities.getFilesSharingPublicUpload().isFalse()) {
            getEditPermissionSection().setVisibility(View.VISIBLE);
        } else {
            getEditPermissionSection().setVisibility(View.GONE);
        }
        // GetLink button
        AppCompatButton getLinkButton = getGetLinkButton();
        getLinkButton.setVisibility(View.VISIBLE);
        getLinkButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                //GetLink from the server and show ShareLinkToDialog
                ((FileActivity) getActivity()).getFileOperationsHelper().getFileWithLink(mFile);
            }
        });
        /// update state of expiration date switch and message depending on expiration date
        SwitchCompat expirationDateSwitch = getExpirationDateSwitch();
        // set null listener before setChecked() to prevent infinite loop of calls
        expirationDateSwitch.setOnCheckedChangeListener(null);
        long expirationDate = mPublicShare.getExpirationDate();
        if (expirationDate > 0) {
            if (!expirationDateSwitch.isChecked()) {
                expirationDateSwitch.toggle();
            }
            String formattedDate = SimpleDateFormat.getDateInstance().format(new Date(expirationDate));
            getExpirationDateValue().setText(formattedDate);
        } else {
            if (expirationDateSwitch.isChecked()) {
                expirationDateSwitch.toggle();
            }
            getExpirationDateValue().setText(R.string.empty);
        }
        // recover listener
        expirationDateSwitch.setOnCheckedChangeListener(mOnExpirationDateInteractionListener);
        /// update state of password switch and message depending on password protection
        SwitchCompat passwordSwitch = getPasswordSwitch();
        // set null listener before setChecked() to prevent infinite loop of calls
        passwordSwitch.setOnCheckedChangeListener(null);
        if (mPublicShare.isPasswordProtected()) {
            if (!passwordSwitch.isChecked()) {
                passwordSwitch.toggle();
            }
            getPasswordValue().setVisibility(View.VISIBLE);
        } else {
            if (passwordSwitch.isChecked()) {
                passwordSwitch.toggle();
            }
            getPasswordValue().setVisibility(View.INVISIBLE);
        }
        // recover listener
        passwordSwitch.setOnCheckedChangeListener(mOnPasswordInteractionListener);
        /// update state of the edit permission switch
        SwitchCompat editPermissionSwitch = getEditPermissionSwitch();
        // set null listener before setChecked() to prevent infinite loop of calls
        editPermissionSwitch.setOnCheckedChangeListener(null);
        if (mPublicShare.getPermissions() > OCShare.READ_PERMISSION_FLAG) {
            if (!editPermissionSwitch.isChecked()) {
                editPermissionSwitch.toggle();
            }
        } else {
            if (editPermissionSwitch.isChecked()) {
                editPermissionSwitch.toggle();
            }
        }
        // recover listener
        editPermissionSwitch.setOnCheckedChangeListener(mOnEditPermissionInteractionListener);
    } else {
        /// no public share -> collapse section
        SwitchCompat shareViaLinkSwitch = getShareViaLinkSwitch();
        if (shareViaLinkSwitch.isChecked()) {
            shareViaLinkSwitch.setOnCheckedChangeListener(null);
            getShareViaLinkSwitch().setChecked(false);
            shareViaLinkSwitch.setOnCheckedChangeListener(mOnShareViaLinkSwitchCheckedChangeListener);
        }
        getExpirationDateSection().setVisibility(View.GONE);
        getPasswordSection().setVisibility(View.GONE);
        getEditPermissionSection().setVisibility(View.GONE);
        getGetLinkButton().setVisibility(View.GONE);
    }
}
Also used : FileActivity(com.owncloud.android.ui.activity.FileActivity) ImageView(android.widget.ImageView) View(android.view.View) TextView(android.widget.TextView) ScrollView(android.widget.ScrollView) ListView(android.widget.ListView) Date(java.util.Date) SwitchCompat(android.support.v7.widget.SwitchCompat) AppCompatButton(android.support.v7.widget.AppCompatButton)

Example 4 with SwitchCompat

use of android.support.v7.widget.SwitchCompat in project CircularReveal by ozodrukh.

the class SpringSettingsBottomDialog method addSwitch.

public void addSwitch(String label, boolean defaultState, final CompoundButton.OnCheckedChangeListener listener) {
    if (switchAdded) {
        return;
    }
    switchAdded = true;
    final SwitchCompat switchView = new SwitchCompat(getContext());
    switchView.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            listener.onCheckedChanged(buttonView, isChecked);
            if (springManagerAdded) {
                stiffnessView.setEnabled(isChecked);
                dampingView.setEnabled(isChecked);
            }
        }
    });
    switchView.setChecked(defaultState);
    switchView.setText(label);
    addView(switchView, createMarginLayoutParams(MATCH_PARENT, WRAP_CONTENT, 0, 0, 0, dp(16)));
    if (springManagerAdded) {
        stiffnessView.setEnabled(defaultState);
        dampingView.setEnabled(defaultState);
    }
}
Also used : CompoundButton(android.widget.CompoundButton) SwitchCompat(android.support.v7.widget.SwitchCompat)

Example 5 with SwitchCompat

use of android.support.v7.widget.SwitchCompat in project xabber-android by redsolution.

the class AccountListAdapter method getView.

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    View view;
    AccountManager accountManager = AccountManager.getInstance();
    if (convertView == null) {
        view = getActivity().getLayoutInflater().inflate(R.layout.account_list_item, parent, false);
    } else {
        view = convertView;
    }
    final String account = getItem(position);
    ((ImageView) view.findViewById(R.id.color)).setImageDrawable(new ColorDrawable(ColorManager.getInstance().getAccountPainter().getAccountMainColor(account)));
    ((ImageView) view.findViewById(R.id.avatar)).setImageDrawable(AvatarManager.getInstance().getAccountAvatar(account));
    ((TextView) view.findViewById(R.id.name)).setText(accountManager.getVerboseName(account));
    SwitchCompat accountSwitch = (SwitchCompat) view.findViewById(R.id.account_switch);
    final AccountItem accountItem = accountManager.getAccount(account);
    accountSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            AccountManager.getInstance().setEnabled(account, isChecked);
        }
    });
    ConnectionState state;
    if (accountItem == null) {
        state = ConnectionState.offline;
        accountSwitch.setChecked(false);
    } else {
        state = accountItem.getState();
        accountSwitch.setChecked(accountItem.isEnabled());
    }
    ((TextView) view.findViewById(R.id.status)).setText(getActivity().getString(state.getStringId()));
    return view;
}
Also used : AccountItem(com.xabber.android.data.account.AccountItem) ImageView(android.widget.ImageView) TextView(android.widget.TextView) View(android.view.View) ColorDrawable(android.graphics.drawable.ColorDrawable) AccountManager(com.xabber.android.data.account.AccountManager) TextView(android.widget.TextView) ImageView(android.widget.ImageView) ConnectionState(com.xabber.android.data.connection.ConnectionState) CompoundButton(android.widget.CompoundButton) SwitchCompat(android.support.v7.widget.SwitchCompat)

Aggregations

SwitchCompat (android.support.v7.widget.SwitchCompat)29 TextView (android.widget.TextView)20 View (android.view.View)19 CompoundButton (android.widget.CompoundButton)19 Intent (android.content.Intent)7 ImageView (android.widget.ImageView)7 AlertDialog (android.support.v7.app.AlertDialog)6 ScrollView (android.widget.ScrollView)6 DialogInterface (android.content.DialogInterface)5 SearchView (android.support.v7.widget.SearchView)4 MenuItem (android.view.MenuItem)4 CheckerBoardDrawable (com.facebook.fresco.samples.showcase.misc.CheckerBoardDrawable)4 CardView (android.support.v7.widget.CardView)3 LayoutInflater (android.view.LayoutInflater)3 ViewGroup (android.view.ViewGroup)3 AdapterView (android.widget.AdapterView)3 LinearLayout (android.widget.LinearLayout)3 Spinner (android.widget.Spinner)3 ArrayList (java.util.ArrayList)3 ClipData (android.content.ClipData)2