package com.webianks.library.easyportfolio; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.support.annotation.Nullable; import android.support.customtabs.CustomTabsIntent; import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.CardView; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.view.MenuItem; import android.view.View; import android.widget.FrameLayout; import java.util.List; /** * Created by R Ankit on 03-05-2017. */ public class PortfolioActivity extends AppCompatActivity implements View.OnClickListener, ProjectsRecyclerAdapter.ItemClickListener { private RecyclerView recyclerView; private FrameLayout githubContainer; private FrameLayout playStoreContainer; private FrameLayout linkedInContainer; private CardView socialContainer; private String github_link; private String play_store_link; private String linked_in_link; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.portfolio_activity); init(); initSocialLinks(); getProjectsList(); } private void getProjectsList() { Intent i = getIntent(); List<Project> projectList = (List<Project>) i.getSerializableExtra("project_list"); ProjectsRecyclerAdapter projectsRecyclerAdapter = new ProjectsRecyclerAdapter(this, projectList); recyclerView.setAdapter(projectsRecyclerAdapter); projectsRecyclerAdapter.setOnItemClickListener(this); } private void initSocialLinks() { github_link = getIntent().getStringExtra("github_url"); play_store_link = getIntent().getStringExtra("play_store_url"); linked_in_link = getIntent().getStringExtra("linkedin_url"); int count = 0; if (github_link == null) { count++; githubContainer.setVisibility(View.GONE); } if (play_store_link == null) { count++; playStoreContainer.setVisibility(View.GONE); } if (linked_in_link == null) { count++; linkedInContainer.setVisibility(View.GONE); } if (count == 3) socialContainer.setVisibility(View.GONE); } private void init() { if (getSupportActionBar() != null) getSupportActionBar().setDisplayHomeAsUpEnabled(true); recyclerView = (RecyclerView) findViewById(R.id.recyclerview); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); recyclerView.setLayoutManager(linearLayoutManager); githubContainer = (FrameLayout) findViewById(R.id.githubContainer); playStoreContainer = (FrameLayout) findViewById(R.id.playStoreContainer); linkedInContainer = (FrameLayout) findViewById(R.id.linkedInContainer); socialContainer = (CardView) findViewById(R.id.socialContainer); githubContainer.setOnClickListener(this); playStoreContainer.setOnClickListener(this); linkedInContainer.setOnClickListener(this); } @Override public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == android.R.id.home) finish(); return super.onOptionsItemSelected(item); } @Override public void onClick(View view) { int id = view.getId(); if (id == R.id.githubContainer) openLink(github_link); else if (id == R.id.playStoreContainer) openLink(play_store_link); else if (id == R.id.linkedInContainer) openLink(linked_in_link); } private void openLink(String link) { CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(); builder.setToolbarColor(ContextCompat.getColor(this, R.color.cardview_dark_background)); CustomTabsIntent customTabsIntent = builder.build(); customTabsIntent.launchUrl(this, Uri.parse(link)); } @Override public void itemClicked(String url) { openLink(url); } }