package com.alorma.github.ui.activity; import android.app.FragmentTransaction; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.text.TextUtils; import android.widget.Toast; import com.alorma.github.R; import com.alorma.github.sdk.bean.dto.request.RepoRequestDTO; import com.alorma.github.sdk.bean.info.RepoInfo; import com.alorma.github.ui.activity.base.RepositoryThemeActivity; import com.alorma.github.ui.fragment.RepositoryManagerFragment; public class ManageRepositoryActivity extends RepositoryThemeActivity { public static final String CONTENT = "CONTENT"; private static final String REPO_INFO = "REPO_INFO"; private static final String REQUEST_DTO = "REQUEST_DTO"; private RepositoryManagerFragment repositoryManagerFragment; public static Intent createIntent(Context context, RepoInfo repoInfo, RepoRequestDTO repoRequestDTO) { Intent intent = new Intent(context, ManageRepositoryActivity.class); intent.putExtra(REPO_INFO, repoInfo); intent.putExtra(REQUEST_DTO, repoRequestDTO); return intent; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.generic_toolbar_responsive); if (getIntent() != null && getIntent().getExtras() != null) { if (getIntent().getExtras().containsKey(REPO_INFO) && getIntent().getExtras().containsKey(REQUEST_DTO)) { FragmentTransaction ft = getFragmentManager().beginTransaction(); RepoInfo repoInfo = (RepoInfo) getIntent().getExtras().getParcelable(REPO_INFO); RepoRequestDTO dto = (RepoRequestDTO) getIntent().getExtras().getParcelable(REQUEST_DTO); repositoryManagerFragment = RepositoryManagerFragment.newInstance(repoInfo, dto); ft.replace(R.id.content, repositoryManagerFragment); ft.commit(); } else { finish(); } } else { finish(); } } @Override protected void close(boolean navigateUp) { RepoRequestDTO repoRequestDTO = repositoryManagerFragment.getRepoRequestDTO(); if (!TextUtils.isEmpty(repoRequestDTO.name)) { Intent data = new Intent(); data.putExtra(CONTENT, repoRequestDTO); setResult(RESULT_OK, data); finish(); } else { Toast.makeText(this, getString(R.string.edit_repo_title_cannot_empty), Toast.LENGTH_SHORT).show(); } } }