diff --git a/TesteBuildbox/.gitignore b/TesteBuildbox/.gitignore new file mode 100644 index 0000000..39fb081 --- /dev/null +++ b/TesteBuildbox/.gitignore @@ -0,0 +1,9 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures +.externalNativeBuild diff --git a/TesteBuildbox/.idea/gradle.xml b/TesteBuildbox/.idea/gradle.xml new file mode 100644 index 0000000..7ac24c7 --- /dev/null +++ b/TesteBuildbox/.idea/gradle.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/TesteBuildbox/.idea/misc.xml b/TesteBuildbox/.idea/misc.xml new file mode 100644 index 0000000..ba7052b --- /dev/null +++ b/TesteBuildbox/.idea/misc.xml @@ -0,0 +1,33 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/TesteBuildbox/.idea/modules.xml b/TesteBuildbox/.idea/modules.xml new file mode 100644 index 0000000..2615bb8 --- /dev/null +++ b/TesteBuildbox/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/TesteBuildbox/.idea/runConfigurations.xml b/TesteBuildbox/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/TesteBuildbox/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/TesteBuildbox/app/.gitignore b/TesteBuildbox/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/TesteBuildbox/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/TesteBuildbox/app/build.gradle b/TesteBuildbox/app/build.gradle new file mode 100644 index 0000000..f810b31 --- /dev/null +++ b/TesteBuildbox/app/build.gradle @@ -0,0 +1,36 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 26 + defaultConfig { + applicationId "com.testebuildbox.testebuildbox" + minSdkVersion 22 + targetSdkVersion 26 + versionCode 1 + versionName "1.0" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + implementation fileTree(dir: 'libs', include: ['*.jar']) + implementation 'com.android.support:appcompat-v7:26.1.0' + implementation 'com.android.support.constraint:constraint-layout:1.1.3' + implementation 'com.android.support:design:26.1.0' + testImplementation 'junit:junit:4.12' + androidTestImplementation 'com.android.support.test:runner:1.0.2' + androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' + implementation 'com.squareup.retrofit2:retrofit:2.4.0' + implementation 'com.squareup.retrofit2:converter-gson:2.4.0' + implementation 'com.android.support:support-annotations:27.1.1' + implementation 'com.squareup.picasso:picasso:2.71828' + implementation 'com.android.support:cardview-v7:26.1.0' + implementation 'com.android.support:recyclerview-v7:26.1.0' + +} diff --git a/TesteBuildbox/app/proguard-rules.pro b/TesteBuildbox/app/proguard-rules.pro new file mode 100644 index 0000000..f1b4245 --- /dev/null +++ b/TesteBuildbox/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/TesteBuildbox/app/src/androidTest/java/com/testebuildbox/testebuildbox/ExampleInstrumentedTest.java b/TesteBuildbox/app/src/androidTest/java/com/testebuildbox/testebuildbox/ExampleInstrumentedTest.java new file mode 100644 index 0000000..508bfc6 --- /dev/null +++ b/TesteBuildbox/app/src/androidTest/java/com/testebuildbox/testebuildbox/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.testebuildbox.testebuildbox; + +import android.content.Context; +import android.support.test.InstrumentationRegistry; +import android.support.test.runner.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumented test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getTargetContext(); + + assertEquals("com.testebuildbox.testebuildbox", appContext.getPackageName()); + } +} diff --git a/TesteBuildbox/app/src/main/AndroidManifest.xml b/TesteBuildbox/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..28d2c5d --- /dev/null +++ b/TesteBuildbox/app/src/main/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/Activityes/GaleriaInfoActivityDetails.java b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/Activityes/GaleriaInfoActivityDetails.java new file mode 100644 index 0000000..96920a9 --- /dev/null +++ b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/Activityes/GaleriaInfoActivityDetails.java @@ -0,0 +1,117 @@ +package com.testebuildbox.testebuildbox.Activityes; + +import android.content.Intent; +import android.media.Image; +import android.net.Uri; +import android.support.v7.app.AppCompatActivity; +import android.os.Bundle; +import android.view.MenuItem; +import android.view.View; +import android.widget.ImageView; +import android.widget.ProgressBar; +import android.widget.TextView; + +import com.squareup.picasso.Picasso; +import com.testebuildbox.testebuildbox.R; +import com.testebuildbox.testebuildbox.model.GaleriaInfo; +import com.testebuildbox.testebuildbox.model.User; + +public class GaleriaInfoActivityDetails extends AppCompatActivity { + + private ImageView imgPerfil; + private TextView nomeUser; + private TextView local; + private TextView instagram; + private TextView youtube; + private ImageView instagramIcon; + private ImageView youtubeIcon; + private ProgressBar progressPerfil; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_galeria_info_details); + + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + getSupportActionBar().setHomeButtonEnabled(true); + getSupportActionBar().setTitle("Perfil"); + + + imgPerfil = findViewById(R.id.imgPerfil); + nomeUser = findViewById(R.id.nomeUser); + local = findViewById(R.id.local); + imgPerfil = findViewById(R.id.imgPerfil); + youtube = findViewById(R.id.youtube); + instagram = findViewById(R.id.instagram); + instagramIcon = findViewById(R.id.instagramIcon); + youtubeIcon = findViewById(R.id.youtubeIcon); + progressPerfil = findViewById(R.id.progressPerfil); + + + Intent intent = getIntent(); + + if(intent != null){ + //Recupera os dados que veio no Intent + final User user = getIntent().getExtras().getParcelable("UserInfo"); + if(user != null){ + + //Deixa invisivel os botões das redes sociais caso venha nulo + if(user.getInstagram_username() == null){ + instagram.setVisibility(View.GONE); + instagramIcon.setVisibility(View.GONE); + } + if(user.getPortfolio_url() == null){ + youtube.setVisibility(View.GONE); + youtubeIcon.setVisibility(View.GONE); + } + + //Insere a foto do pefil no imageView + Picasso.get() + .load(user.getProfile_image().getLarge()) + .resize(200, 200) + .centerCrop() + .into(imgPerfil); + + //Seta os dados nos respectivos componentes + nomeUser.setText(user.getName()); + local.setText(user.getLocation()); + instagram.setText(user.getInstagram_username()); + youtube.setText("Portifolio"); + + youtube.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + String url = user.getPortfolio_url(); + Intent i = new Intent(Intent.ACTION_VIEW); + i.setData(Uri.parse(url)); + startActivity(i); + } + }); + + instagram.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + String url = "https://www.instagram.com/"+user.getInstagram_username(); + Intent i = new Intent(Intent.ACTION_VIEW); + i.setData(Uri.parse(url)); + startActivity(i); + } + }); + } + } + progressPerfil.setVisibility(View.GONE); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + + switch (item.getItemId()){ + case android.R.id.home:{ + finish(); + break; + } + } + + return super.onOptionsItemSelected(item); + } +} diff --git a/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/Activityes/MainActivity.java b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/Activityes/MainActivity.java new file mode 100644 index 0000000..cf0e6fb --- /dev/null +++ b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/Activityes/MainActivity.java @@ -0,0 +1,95 @@ +package com.testebuildbox.testebuildbox.Activityes; + +import android.os.Bundle; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.GridLayoutManager; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.RecyclerView; +import android.support.v7.widget.Toolbar; +import android.util.Log; +import android.view.Menu; +import android.view.MenuItem; +import android.view.View; +import android.widget.ProgressBar; + +import com.testebuildbox.testebuildbox.Adapters.GaleriaInfoRecyclerView; +import com.testebuildbox.testebuildbox.R; +import com.testebuildbox.testebuildbox.api.UnsplashService; +import com.testebuildbox.testebuildbox.model.GaleriaInfo; + +import java.util.List; + +import retrofit2.Call; +import retrofit2.Callback; +import retrofit2.Response; +import retrofit2.Retrofit; +import retrofit2.converter.gson.GsonConverterFactory; + +public class MainActivity extends AppCompatActivity { + + private RecyclerView recGaleriaInfo; + private GaleriaInfoRecyclerView galeriaInfoRecyclerView; + private ProgressBar progres; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_main); + Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); + setSupportActionBar(toolbar); + getSupportActionBar().setTitle("Lista de Imagens"); + + + //Maapeia o componente RecyclerView + recGaleriaInfo = findViewById(R.id.recGaleriaInfo); + recGaleriaInfo.setLayoutManager(new GridLayoutManager(this, 2)); + progres = findViewById(R.id.progres); + + + //Cria a implementação do retorift + Retrofit retrofit = new Retrofit.Builder().baseUrl(UnsplashService.BASE_URL).addConverterFactory(GsonConverterFactory.create()).build(); + + UnsplashService service = retrofit.create(UnsplashService.class); + Call> galeriaInfoCall = service.fotosAleatoris(); + + galeriaInfoCall.enqueue(new Callback>() { + @Override + public void onResponse(Call> call, Response> response) { + if(response.isSuccessful()){ + List galeriaInfos = response.body(); + galeriaInfoRecyclerView = new GaleriaInfoRecyclerView(MainActivity.this, galeriaInfos); + recGaleriaInfo.setAdapter(galeriaInfoRecyclerView); + progres.setVisibility(View.GONE); + } + } + + @Override + public void onFailure(Call> call, Throwable t) { + Log.e("erro", t.getMessage()); + } + }); + + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + // Inflate the menu; this adds items to the action bar if it is present. + getMenuInflater().inflate(R.menu.menu_main, menu); + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + // Handle action bar item clicks here. The action bar will + // automatically handle clicks on the Home/Up button, so long + // as you specify a parent activity in AndroidManifest.xml. + int id = item.getItemId(); + + //noinspection SimplifiableIfStatement + if (id == R.id.exit) { + finish(); + } + + return super.onOptionsItemSelected(item); + } +} diff --git a/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/Adapters/GaleriaInfoRecyclerView.java b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/Adapters/GaleriaInfoRecyclerView.java new file mode 100644 index 0000000..fee6443 --- /dev/null +++ b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/Adapters/GaleriaInfoRecyclerView.java @@ -0,0 +1,90 @@ +package com.testebuildbox.testebuildbox.Adapters; + +import android.app.Activity; +import android.content.Intent; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.ImageView; +import android.widget.TextView; +import android.widget.Toast; + +import com.squareup.picasso.Picasso; +import com.testebuildbox.testebuildbox.Activityes.GaleriaInfoActivityDetails; +import com.testebuildbox.testebuildbox.R; +import com.testebuildbox.testebuildbox.model.GaleriaInfo; +import com.testebuildbox.testebuildbox.model.User; + +import java.util.List; + +/** + * Created by fjesus on 05/10/2018. + */ + +public class GaleriaInfoRecyclerView extends RecyclerView.Adapter { + + private List galeriaInfos; + private Activity activity; + + public GaleriaInfoRecyclerView(Activity activity, List galeriaInfos){ + this.galeriaInfos = galeriaInfos; + this.activity = activity; + } + + public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ + + public ImageView imageView; + public TextView textView; + + public ViewHolder(View itemView) { + super(itemView); + + imageView = itemView.findViewById(R.id.img); + textView = itemView.findViewById(R.id.descricao); + } + + @Override + public void onClick(View view) { + + } + } + + @Override + public GaleriaInfoRecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = LayoutInflater.from(activity).inflate(R.layout.linha_timeline, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(GaleriaInfoRecyclerView.ViewHolder holder, int position) { + + final GaleriaInfo galeriaInfo = galeriaInfos.get(position); + + holder.textView.setText(galeriaInfo.getDescription()); + Picasso.get() + .load(galeriaInfo.getUrls().getThumb()) + .resize(1000, 600) + .into(holder.imageView); + + //ClickListener em ImgageView, redireciona para a GaleriaInfoActivityDetails e exibe os dados que estão sendo passados pelo intent + holder.imageView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(activity, GaleriaInfoActivityDetails.class); + User user = galeriaInfo.getUser(); + intent.putExtra("UserInfo", user); + activity.startActivity(intent); + } + }); + + + } + + @Override + public int getItemCount() { + return galeriaInfos.size(); + } + + +} diff --git a/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/api/UnsplashService.java b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/api/UnsplashService.java new file mode 100644 index 0000000..40ec03d --- /dev/null +++ b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/api/UnsplashService.java @@ -0,0 +1,25 @@ +package com.testebuildbox.testebuildbox.api; + +import com.testebuildbox.testebuildbox.model.GaleriaInfo; + +import java.util.List; + +import retrofit2.Call; +import retrofit2.http.GET; +import retrofit2.http.Headers; + +/** + * Created by fjesus on 05/10/2018. + */ + +/** + * Interface de configuração do retrofit. + */ +public interface UnsplashService { + + public static final String BASE_URL = "https://api.unsplash.com/"; + + @Headers("Authorization: Client-ID 64441a26d1e0fcc909e039168052274882d3f1b223188f3ba776370a78309688") + @GET("photos/curated/") + Call> fotosAleatoris(); +} diff --git a/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/GaleriaInfo.java b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/GaleriaInfo.java new file mode 100644 index 0000000..d18633a --- /dev/null +++ b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/GaleriaInfo.java @@ -0,0 +1,133 @@ +package com.testebuildbox.testebuildbox.model; + +import android.os.Parcel; +import android.os.Parcelable; + +import java.io.Serializable; +import java.util.Date; + +/** + * Created by fjesus on 05/10/2018. + */ + +public class GaleriaInfo { + + private String id; + private Date created_at; + private Date updated_at;; + private int width; + private int height; + private String color; + private String description; + private Urls urls; + private Link links; + private boolean sponsored; + private long likes; + private boolean liked_by_user; + private User user; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Date getCreated_at() { + return created_at; + } + + public void setCreated_at(Date created_at) { + this.created_at = created_at; + } + + public Date getUpdated_at() { + return updated_at; + } + + public void setUpdated_at(Date updated_at) { + this.updated_at = updated_at; + } + + public int getWidth() { + return width; + } + + public void setWidth(int width) { + this.width = width; + } + + public int getHeight() { + return height; + } + + public void setHeight(int height) { + this.height = height; + } + + public String getColor() { + return color; + } + + public void setColor(String color) { + this.color = color; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public Urls getUrls() { + return urls; + } + + public void setUrls(Urls urls) { + this.urls = urls; + } + + public Link getLinks() { + return links; + } + + public void setLinks(Link links) { + this.links = links; + } + + public boolean isSponsored() { + return sponsored; + } + + public void setSponsored(boolean sponsored) { + this.sponsored = sponsored; + } + + public long getLikes() { + return likes; + } + + public void setLikes(long likes) { + this.likes = likes; + } + + public boolean isLiked_by_user() { + return liked_by_user; + } + + public void setLiked_by_user(boolean liked_by_user) { + this.liked_by_user = liked_by_user; + } + + public User getUser() { + return user; + } + + public void setUser(User user) { + this.user = user; + } + +} diff --git a/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/Link.java b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/Link.java new file mode 100644 index 0000000..c617b72 --- /dev/null +++ b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/Link.java @@ -0,0 +1,45 @@ +package com.testebuildbox.testebuildbox.model; + +/** + * Created by fjesus on 05/10/2018. + */ + +public class Link { + + private String self; + private String html; + private String download; + private String download_location; + + public String getSelf() { + return self; + } + + public void setSelf(String self) { + this.self = self; + } + + public String getHtml() { + return html; + } + + public void setHtml(String html) { + this.html = html; + } + + public String getDownload() { + return download; + } + + public void setDownload(String download) { + this.download = download; + } + + public String getDownload_location() { + return download_location; + } + + public void setDownload_location(String download_location) { + this.download_location = download_location; + } +} diff --git a/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/LinksUser.java b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/LinksUser.java new file mode 100644 index 0000000..3d5d909 --- /dev/null +++ b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/LinksUser.java @@ -0,0 +1,72 @@ +package com.testebuildbox.testebuildbox.model; + +/** + * Created by fjesus on 05/10/2018. + */ + +public class LinksUser { + + private String self; + private String html; + private String photos; + private String likes; + private String portfolio; + private String following; + private String followers; + + public String getSelf() { + return self; + } + + public void setSelf(String self) { + this.self = self; + } + + public String getHtml() { + return html; + } + + public void setHtml(String html) { + this.html = html; + } + + public String getPhotos() { + return photos; + } + + public void setPhotos(String photos) { + this.photos = photos; + } + + public String getLikes() { + return likes; + } + + public void setLikes(String likes) { + this.likes = likes; + } + + public String getPortfolio() { + return portfolio; + } + + public void setPortfolio(String portfolio) { + this.portfolio = portfolio; + } + + public String getFollowing() { + return following; + } + + public void setFollowing(String following) { + this.following = following; + } + + public String getFollowers() { + return followers; + } + + public void setFollowers(String followers) { + this.followers = followers; + } +} diff --git a/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/ProfileImage.java b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/ProfileImage.java new file mode 100644 index 0000000..8eda695 --- /dev/null +++ b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/ProfileImage.java @@ -0,0 +1,69 @@ +package com.testebuildbox.testebuildbox.model; + +import android.os.Parcel; +import android.os.Parcelable; + +/** + * Created by fjesus on 05/10/2018. + */ + +public class ProfileImage implements Parcelable { + + private String small; + private String medium; + private String large; + + protected ProfileImage(Parcel in) { + small = in.readString(); + medium = in.readString(); + large = in.readString(); + } + + public static final Creator CREATOR = new Creator() { + @Override + public ProfileImage createFromParcel(Parcel in) { + return new ProfileImage(in); + } + + @Override + public ProfileImage[] newArray(int size) { + return new ProfileImage[size]; + } + }; + + public String getSmall() { + return small; + } + + public void setSmall(String small) { + this.small = small; + } + + public String getMedium() { + return medium; + } + + public void setMedium(String medium) { + this.medium = medium; + } + + public String getLarge() { + return large; + } + + public void setLarge(String large) { + this.large = large; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel parcel, int i) { + parcel.writeString(small); + parcel.writeString(medium); + parcel.writeString(large); + } +} diff --git a/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/Urls.java b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/Urls.java new file mode 100644 index 0000000..bf40bcb --- /dev/null +++ b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/Urls.java @@ -0,0 +1,54 @@ +package com.testebuildbox.testebuildbox.model; + +/** + * Created by fjesus on 05/10/2018. + */ + +public class Urls { + + private String raw; + private String full; + private String regular; + private String small; + private String thumb; + + public String getRaw() { + return raw; + } + + public void setRaw(String raw) { + this.raw = raw; + } + + public String getFull() { + return full; + } + + public void setFull(String full) { + this.full = full; + } + + public String getRegular() { + return regular; + } + + public void setRegular(String regular) { + this.regular = regular; + } + + public String getSmall() { + return small; + } + + public void setSmall(String small) { + this.small = small; + } + + public String getThumb() { + return thumb; + } + + public void setThumb(String thumb) { + this.thumb = thumb; + } +} diff --git a/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/User.java b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/User.java new file mode 100644 index 0000000..3c971b4 --- /dev/null +++ b/TesteBuildbox/app/src/main/java/com/testebuildbox/testebuildbox/model/User.java @@ -0,0 +1,161 @@ +package com.testebuildbox.testebuildbox.model; + +import android.os.Parcel; +import android.os.Parcelable; + +import java.time.LocalDate; +import java.util.Date; + +/** + * Created by fjesus on 05/10/2018. + */ + +public class User implements Parcelable { + + private String id; + private String username; + private String name; + private String first_name; + private String last_name; + private String twitter_username; + private String portfolio_url; + private String bio; + private String location; + private ProfileImage profile_image; + private String instagram_username; + + + protected User(Parcel in) { + id = in.readString(); + username = in.readString(); + name = in.readString(); + first_name = in.readString(); + last_name = in.readString(); + twitter_username = in.readString(); + portfolio_url = in.readString(); + bio = in.readString(); + location = in.readString(); + profile_image = in.readParcelable(ProfileImage.class.getClassLoader()); + instagram_username = in.readString(); + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getUsername() { + return username; + } + + public void setUsername(String username) { + this.username = username; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getFirst_name() { + return first_name; + } + + public void setFirst_name(String first_name) { + this.first_name = first_name; + } + + public String getLast_name() { + return last_name; + } + + public void setLast_name(String last_name) { + this.last_name = last_name; + } + + public String getTwitter_username() { + return twitter_username; + } + + public void setTwitter_username(String twitter_username) { + this.twitter_username = twitter_username; + } + + public String getPortfolio_url() { + return portfolio_url; + } + + public void setPortfolio_url(String portfolio_url) { + this.portfolio_url = portfolio_url; + } + + public String getBio() { + return bio; + } + + public void setBio(String bio) { + this.bio = bio; + } + + public String getLocation() { + return location; + } + + public void setLocation(String location) { + this.location = location; + } + + public ProfileImage getProfile_image() { + return profile_image; + } + + public void setProfile_image(ProfileImage profile_image) { + this.profile_image = profile_image; + } + + public String getInstagram_username() { + return instagram_username; + } + + public void setInstagram_username(String instagram_username) { + this.instagram_username = instagram_username; + } + + public static final Creator CREATOR = new Creator() { + @Override + public User createFromParcel(Parcel in) { + return new User(in); + } + + @Override + public User[] newArray(int size) { + return new User[size]; + } + }; + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel parcel, int i) { + parcel.writeString(id); + parcel.writeString(username); + parcel.writeString(name); + parcel.writeString(first_name); + parcel.writeString(last_name); + parcel.writeString(twitter_username); + parcel.writeString(portfolio_url); + parcel.writeString(bio); + parcel.writeString(location); + parcel.writeParcelable(profile_image, i); + parcel.writeString(instagram_username); + } +} diff --git a/TesteBuildbox/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/TesteBuildbox/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..c7bd21d --- /dev/null +++ b/TesteBuildbox/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,34 @@ + + + + + + + + + + + diff --git a/TesteBuildbox/app/src/main/res/drawable/ic_launcher_background.xml b/TesteBuildbox/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..d5fccc5 --- /dev/null +++ b/TesteBuildbox/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TesteBuildbox/app/src/main/res/layout/activity_galeria_info_details.xml b/TesteBuildbox/app/src/main/res/layout/activity_galeria_info_details.xml new file mode 100644 index 0000000..326ea9d --- /dev/null +++ b/TesteBuildbox/app/src/main/res/layout/activity_galeria_info_details.xml @@ -0,0 +1,138 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + /> + + + + + + /> + + + + + + + + + + + diff --git a/TesteBuildbox/app/src/main/res/layout/activity_main.xml b/TesteBuildbox/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..1f8a5b1 --- /dev/null +++ b/TesteBuildbox/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + diff --git a/TesteBuildbox/app/src/main/res/layout/content_main.xml b/TesteBuildbox/app/src/main/res/layout/content_main.xml new file mode 100644 index 0000000..57ea3f7 --- /dev/null +++ b/TesteBuildbox/app/src/main/res/layout/content_main.xml @@ -0,0 +1,23 @@ + + + + + + + + diff --git a/TesteBuildbox/app/src/main/res/layout/linha_timeline.xml b/TesteBuildbox/app/src/main/res/layout/linha_timeline.xml new file mode 100644 index 0000000..451d053 --- /dev/null +++ b/TesteBuildbox/app/src/main/res/layout/linha_timeline.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TesteBuildbox/app/src/main/res/menu/menu_main.xml b/TesteBuildbox/app/src/main/res/menu/menu_main.xml new file mode 100644 index 0000000..7e34fc8 --- /dev/null +++ b/TesteBuildbox/app/src/main/res/menu/menu_main.xml @@ -0,0 +1,10 @@ + + + diff --git a/TesteBuildbox/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/TesteBuildbox/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/TesteBuildbox/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/TesteBuildbox/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/TesteBuildbox/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/TesteBuildbox/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/TesteBuildbox/app/src/main/res/mipmap-hdpi/ic_launcher.png b/TesteBuildbox/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000..a2f5908 Binary files /dev/null and b/TesteBuildbox/app/src/main/res/mipmap-hdpi/ic_launcher.png differ diff --git a/TesteBuildbox/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/TesteBuildbox/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000..1b52399 Binary files /dev/null and b/TesteBuildbox/app/src/main/res/mipmap-hdpi/ic_launcher_round.png differ diff --git a/TesteBuildbox/app/src/main/res/mipmap-mdpi/ic_launcher.png b/TesteBuildbox/app/src/main/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000..ff10afd Binary files /dev/null and b/TesteBuildbox/app/src/main/res/mipmap-mdpi/ic_launcher.png differ diff --git a/TesteBuildbox/app/src/main/res/mipmap-mdpi/ic_launcher_round.png b/TesteBuildbox/app/src/main/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000..115a4c7 Binary files /dev/null and b/TesteBuildbox/app/src/main/res/mipmap-mdpi/ic_launcher_round.png differ diff --git a/TesteBuildbox/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/TesteBuildbox/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000..dcd3cd8 Binary files /dev/null and b/TesteBuildbox/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/TesteBuildbox/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png b/TesteBuildbox/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000..459ca60 Binary files /dev/null and b/TesteBuildbox/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png differ diff --git a/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000..8ca12fe Binary files /dev/null and b/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..8e19b41 Binary files /dev/null and b/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png differ diff --git a/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/instagram.png b/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/instagram.png new file mode 100644 index 0000000..e05ef4d Binary files /dev/null and b/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/instagram.png differ diff --git a/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/perfil.jpeg b/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/perfil.jpeg new file mode 100644 index 0000000..608d42a Binary files /dev/null and b/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/perfil.jpeg differ diff --git a/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/youtube.png b/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/youtube.png new file mode 100644 index 0000000..e6e5930 Binary files /dev/null and b/TesteBuildbox/app/src/main/res/mipmap-xxhdpi/youtube.png differ diff --git a/TesteBuildbox/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/TesteBuildbox/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000..b824ebd Binary files /dev/null and b/TesteBuildbox/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/TesteBuildbox/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/TesteBuildbox/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000..4c19a13 Binary files /dev/null and b/TesteBuildbox/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png differ diff --git a/TesteBuildbox/app/src/main/res/values/colors.xml b/TesteBuildbox/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..60d3ac8 --- /dev/null +++ b/TesteBuildbox/app/src/main/res/values/colors.xml @@ -0,0 +1,8 @@ + + + #0d6ba8 + #064477 + #FF4081 + #a4a4a4 + #dedede + diff --git a/TesteBuildbox/app/src/main/res/values/dimens.xml b/TesteBuildbox/app/src/main/res/values/dimens.xml new file mode 100644 index 0000000..59a0b0c --- /dev/null +++ b/TesteBuildbox/app/src/main/res/values/dimens.xml @@ -0,0 +1,3 @@ + + 16dp + diff --git a/TesteBuildbox/app/src/main/res/values/strings.xml b/TesteBuildbox/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..b2f8cbd --- /dev/null +++ b/TesteBuildbox/app/src/main/res/values/strings.xml @@ -0,0 +1,4 @@ + + Teste BuildBox + Sair + diff --git a/TesteBuildbox/app/src/main/res/values/styles.xml b/TesteBuildbox/app/src/main/res/values/styles.xml new file mode 100644 index 0000000..545b9c6 --- /dev/null +++ b/TesteBuildbox/app/src/main/res/values/styles.xml @@ -0,0 +1,20 @@ + + + + + + + +