content: package im.actor.sdk.controllers.placeholder;
  
  import android.content.Intent;
  import android.os.Bundle;
  import android.support.annotation.Nullable;
  import android.view.LayoutInflater;
  import android.view.View;
  import android.view.ViewGroup;
  import android.widget.TextView;
  
  import im.actor.sdk.ActorSDK;
  import im.actor.sdk.R;
  import im.actor.sdk.controllers.contacts.AddContactActivity;
  import im.actor.sdk.controllers.BaseFragment;
  import im.actor.sdk.util.Fonts;
  
  import static im.actor.sdk.util.ActorSDKMessenger.messenger;
  
  public class GlobalPlaceholderFragment extends BaseFragment {
  
      private View syncInProgressView;
      private View emptyContactsView;
  
      public GlobalPlaceholderFragment() {
          setUnbindOnPause(true);
      }
  
      @Nullable
      @Override
      public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
          View res = inflater.inflate(R.layout.fragment_placeholder, container, false);
  
          //
          // Views
          //
          syncInProgressView = res.findViewById(R.id.syncInProgress);
          ((TextView) syncInProgressView.findViewById(R.id.wait_text)).setTextColor(style.getTextSecondaryColor());
          ((TextView) syncInProgressView.findViewById(R.id.sync_text)).setTextColor(style.getMainColor());
          syncInProgressView.findViewById(R.id.sync_background).setBackgroundColor(style.getMainColor());
          syncInProgressView.findViewById(R.id.syncInProgress).setBackgroundColor(style.getMainBackgroundColor());
          emptyContactsView = res.findViewById(R.id.emptyContacts);
          res.findViewById(R.id.emptyContactsFrame).setBackgroundColor(ActorSDK.sharedActor().style.getMainBackgroundColor());
          ((TextView) emptyContactsView.findViewById(R.id.no_contacts)).setTextColor(style.getTextSecondaryColor());
          ((TextView) emptyContactsView.findViewById(R.id.no_contacts)).setText(getResources().getString(R.string.main_empty_invite_hint).replace("{appName}", ActorSDK.sharedActor().getAppName()));
          ((TextView) emptyContactsView.findViewById(R.id.add_contact_manually_text)).setTextColor(style.getTextSecondaryColor());
          ((TextView) emptyContactsView.findViewById(R.id.empty_contacts_text)).setTextColor(style.getMainColor());
          emptyContactsView.findViewById(R.id.empty_contacts_bg).setBackgroundColor(style.getMainColor());
  
          //
          // Actions
          //
          TextView addContactBtnText = (TextView) res.findViewById(R.id.addContactButtonText);
          addContactBtnText.setTextColor(style.getTextSecondaryColor());
          addContactBtnText.setTypeface(Fonts.medium());
          TextView inviteBtnText = (TextView) res.findViewById(R.id.inviteButtonText);
          inviteBtnText.setTypeface(Fonts.medium());
          inviteBtnText.setTextColor(style.getTextPrimaryInvColor());
  
          res.findViewById(R.id.addContactButton).setOnClickListener(v -> {
              startActivity(new Intent(getActivity(), AddContactActivity.class));
          });
          res.findViewById(R.id.inviteButton).setOnClickListener(v -> {
              String inviteMessage = getResources().getString(R.string.invite_message)
                      .replace("{inviteUrl}", ActorSDK.sharedActor().getInviteUrl())
                      .replace("{appName}", ActorSDK.sharedActor().getAppName());
              Intent sendIntent = new Intent(Intent.ACTION_SEND);
              sendIntent.putExtra(Intent.EXTRA_TEXT, inviteMessage);
              sendIntent.setType("text/plain");
              startActivity(sendIntent);
          });
  
          return res;
      }
  
      @Override
      public void onResume() {
          super.onResume();
  
          bind(messenger().getAppState().getIsAppLoaded(), messenger().getAppState().getIsAppEmpty(), (isAppLoaded, Value, isAppEmpty, Value2) -> {
              if (isAppEmpty) {
                  if (isAppLoaded) {
                      emptyContactsView.setVisibility(View.VISIBLE);
                      syncInProgressView.setVisibility(View.GONE);
                  } else {
                      emptyContactsView.setVisibility(View.GONE);
                      syncInProgressView.setVisibility(View.VISIBLE);
                  }
              } else {
                  emptyContactsView.setVisibility(View.GONE);
                  syncInProgressView.setVisibility(View.GONE);
              }
          });
      }
  
  }
  