Skip to content

Commit

Permalink
Merge branch 'system_prod' of https://github.com/dat911zz/CringeMPOne
Browse files Browse the repository at this point in the history
…into android_PhamLeXuanPhong

� Conflicts:
�	app/src/main/AndroidManifest.xml
�	app/src/main/java/com/ltdd/cringempone/MainActivity.java
  • Loading branch information
phong0168 committed Mar 23, 2023
2 parents 2b76f90 + d7d34d2 commit da881e8
Show file tree
Hide file tree
Showing 7 changed files with 170 additions and 74 deletions.
14 changes: 4 additions & 10 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,13 @@
android:supportsRtl="true"
android:theme="@style/Theme.CringeMPOne"
tools:targetApi="31">
<activity
android:name=".BottomNavigationDrawerActivity"
android:exported="false"
android:label="@string/title_activity_bottom_navigation_drawer"
android:theme="@style/Theme.CringeMPOne.NoActionBar" />

<service
android:name=".BaseAPIService"
android:name=".api.BaseAPIService"
android:enabled="true"
android:exported="true" />

android:exported="true"
/>
<activity
android:name=".ui.MusicPlayer"
android:name=".ui.activity.MusicPlayer"
android:exported="true" />
<activity
android:name=".MainActivity"
Expand Down
99 changes: 37 additions & 62 deletions app/src/main/java/com/ltdd/cringempone/MainActivity.java
Original file line number Diff line number Diff line change
@@ -1,44 +1,24 @@
package com.ltdd.cringempone;

import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.IBinder;
import android.os.StrictMode;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.google.android.exoplayer2.ExoPlayer;
import com.google.android.exoplayer2.MediaItem;
import com.google.android.exoplayer2.ui.PlayerView;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonParser;
import com.ltdd.cringempone.data.BaseAPIService;
import com.ltdd.cringempone.ui.MusicPlayer;
import com.ltdd.cringempone.utils.Helper;
import com.ltdd.cringempone.utils.Zmp3API;
import com.ltdd.cringempone.api.BaseAPIService;
import com.ltdd.cringempone.ui.activity.MusicPlayer;

public class MainActivity extends AppCompatActivity {
String TAG = "APP";
String apiSample = "https://zingmp3api-dvn.onrender.com/top100";
BaseAPIService apiService;
boolean isBound = false;
BaseAPIService apiService = BaseAPIService.getInstance();
Boolean isBound = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand All @@ -47,57 +27,52 @@ protected void onCreate(Bundle savedInstanceState) {
StrictMode.setThreadPolicy(policy);
setContentView(R.layout.activity_main);

Intent sintent = new Intent(this, BaseAPIService.class);
bindService(sintent, new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
BaseAPIService.LocalBinder binder = (BaseAPIService.LocalBinder) iBinder;
apiService = binder.getService();
isBound = true;
}
bindAPIBase();

@Override
public void onServiceDisconnected(ComponentName componentName) {
isBound = false;
}
}, Context.BIND_AUTO_CREATE);
getRandNumber();
//#region Streaming media player
//Set up
//https://mp3-s1-zmp3.zmdcdn.me/5a7ab8a550e1b9bfe0f0/2684602975505725241?authen=exp=1679135555~acl=/5a7ab8a550e1b9bfe0f0/*~hmac=4a1ff5882b7f905fb7241eaf281c725b&fs=MTY3ODk2MjmUsIC1NTmUsICzM3x3ZWJWNnwwfDU0LjI1NC4xNjIdUngMTM4
String url_exo = "https://vnso-pt-15-tf-mp3-s1-zmp3.zmdcdn.me/b9aa20ec13abfaf5a3ba/1502019886813006440?authen=exp=1679314428~acl=/b9aa20ec13abfaf5a3ba/*~hmac=18715487d8d7e0dec124d3133e0d9747&fs=MTY3OTE0MTYyODkzMXx3ZWJWNnwwfDE4LjE0Mi4xMjgdUngMjY";
PlayerView playerView = findViewById(R.id.exoPlayer);
ExoPlayer exoPlayer = new ExoPlayer.Builder(this).build();
playerView.setPlayer(exoPlayer);

// Build the media item.
MediaItem mediaItem = MediaItem.fromUri(url_exo);
// Set the media item to be played.
exoPlayer.setMediaItem(mediaItem);
// Prepare the player.
exoPlayer.prepare();
// Start the playback.
exoPlayer.play();
//#endregion
ImageView img = findViewById(R.id.imgView);
Log.d(TAG, "onCreate img: " + Helper.LoadImageFromWebOperations("https://photo-resize-zmp3.zmdcdn.me/w165_r1x1_jpeg/cover/8/5/5/b/855bb71b9bc9a577ea6627df65a2adeb.jpg"));
img.setImageDrawable(Helper.LoadImageFromWebOperations("https://photo-resize-zmp3.zmdcdn.me/w165_r1x1_jpeg/cover/8/5/5/b/855bb71b9bc9a577ea6627df65a2adeb.jpg"));

// //Set up
// //https://mp3-s1-zmp3.zmdcdn.me/5a7ab8a550e1b9bfe0f0/2684602975505725241?authen=exp=1679135555~acl=/5a7ab8a550e1b9bfe0f0/*~hmac=4a1ff5882b7f905fb7241eaf281c725b&fs=MTY3ODk2MjmUsIC1NTmUsICzM3x3ZWJWNnwwfDU0LjI1NC4xNjIdUngMTM4
// String url_exo = "https://www.youtube.com/watch?v=WPl10ZrhCtk";
// PlayerView playerView = findViewById(R.id.exoPlayer);
// ExoPlayer exoPlayer = new ExoPlayer.Builder(this).build();
// playerView.setPlayer(exoPlayer);
//
// // Build the media item.
// MediaItem mediaItem = MediaItem.fromUri(url_exo);
// // Set the media item to be played.
// exoPlayer.setMediaItem(mediaItem);
// // Prepare the player.
// exoPlayer.prepare();
// // Start the playback.
// exoPlayer.play();
// //#endregion
// ImageView img = findViewById(R.id.imgView);
// img.setImageDrawable(Helper.LoadImageFromWebOperations("https://photo-resize-zmp3.zmdcdn.me/w165_r1x1_jpeg/cover/8/5/5/b/855bb71b9bc9a577ea6627df65a2adeb.jpg"));
//
Button player = findViewById(R.id.btnMusicPlayer);
player.setOnClickListener(view -> {
exoPlayer.stop();
// exoPlayer.stop();
Intent intent = new Intent(view.getContext(), MusicPlayer.class);
startActivity(intent);
});

}
public void getRandNumber(){
TextView txtV1 = findViewById(R.id.txtRand);
txtV1.setText(Integer.toString(apiService.gernerateRand()));
public void bindAPIBase(){
Gson gson = new GsonBuilder().setPrettyPrinting().create();
JsonParser jp = new JsonParser();
JsonElement je = jp.parse(apiService.getTop100());
String prettyJsonString = gson.toJson(je);
Log.i(TAG, "bindAPIBase: " + prettyJsonString);
}
@Override
protected void onStart() {
super.onStart();
}

@Override
protected void onResume() {
super.onResume();
// Log.d(TAG, "onResume: " + apiService.getTop100());
// Zmp3API apiZ = new Zmp3API(this);
// apiZ.makeAPICall();
// RequestQueue rq = Volley.newRequestQueue(this);
Expand Down
30 changes: 30 additions & 0 deletions app/src/main/java/com/ltdd/cringempone/api/BaseAPIService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
package com.ltdd.cringempone.api;

import android.util.Log;

public class BaseAPIService {
private String hostAPI = "https://zingmp3api-dvn.onrender.com/";
private String LOG_TAG = "Base API Service";
public static BaseAPIService getInstance(){
return new BaseAPIService();
}
public BaseAPIService() {
}
public String getRequest(String path){
HttpGetRequest httpGetRequest = new HttpGetRequest();
httpGetRequest.execute(hostAPI + path);
try {
Log.i("BaseAPI", httpGetRequest.get());
return httpGetRequest.get();
} catch (Exception e) {
Log.e(LOG_TAG, "getRequest: " + e.getMessage());
return String.format("{\"err\":\"{0}\",\"mess:\":\"{1}\"}","404",e.getMessage());
}
}
public String getTop100(){
return getRequest("top100");
}
public String getHome(){
return getRequest("Home");
}
}
58 changes: 58 additions & 0 deletions app/src/main/java/com/ltdd/cringempone/api/HttpGetRequest.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
package com.ltdd.cringempone.api;

import android.os.AsyncTask;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class HttpGetRequest extends AsyncTask<String, Void, String> {
public static final String REQUEST_METHOD = "GET";
public static final int READ_TIMEOUT = 15000;
public static final int CONNECTION_TIMEOUT = 15000;
@Override
protected String doInBackground(String... params){
String stringUrl = params[0];
String result;
String inputLine;
try {
//Create a URL object holding our url
URL myUrl = new URL(stringUrl);
//Create a connection
HttpURLConnection connection =(HttpURLConnection)
myUrl.openConnection();
//Set methods and timeouts
connection.setRequestMethod(REQUEST_METHOD);
connection.setReadTimeout(READ_TIMEOUT);
connection.setConnectTimeout(CONNECTION_TIMEOUT);

//Connect to our url
connection.connect();
//Create a new InputStreamReader
InputStreamReader streamReader = new
InputStreamReader(connection.getInputStream());
//Create a new buffered reader and String Builder
BufferedReader reader = new BufferedReader(streamReader);
StringBuilder stringBuilder = new StringBuilder();
//Check if the line we are reading is not null
while((inputLine = reader.readLine()) != null){
stringBuilder.append(inputLine);
}
//Close our InputStream and Buffered reader
reader.close();
streamReader.close();
//Set our result equal to our stringBuilder
result = stringBuilder.toString();
}
catch(IOException e){
e.printStackTrace();
result = null;
}
return result;
}
protected void onPostExecute(String result){
super.onPostExecute(result);
}
}
39 changes: 39 additions & 0 deletions app/src/main/java/com/ltdd/cringempone/api/Zmp3API.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package com.ltdd.cringempone.api;

import android.content.Context;
import android.content.SharedPreferences;

import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
public class Zmp3API {
static String URL_API = "https://zingmp3api-dvn.onrender.com/top100";
Context context;
RequestQueue requestQueue;
public Zmp3API(Context context) {
this.context = context;
requestQueue = Volley.newRequestQueue(context);
}
public void makeAPICall(){
String MyPREFERENCES = "MyPrefs";
SharedPreferences.Editor editor = context.getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE).edit();

Request request = new StringRequest(Request.Method.GET, URL_API, new Response.Listener<String>(){
@Override
public void onResponse(String response) {
editor.putString("returnResponse", response);
editor.apply();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
editor.putString("returnResponse", error.getMessage());
editor.apply();
}
});
requestQueue.add(request);
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.ltdd.cringempone.ui;
package com.ltdd.cringempone.ui.activity;

import android.media.MediaPlayer;
import android.os.Bundle;
Expand Down
2 changes: 1 addition & 1 deletion app/src/main/res/layout/activity_music_player.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ui.MusicPlayer">
tools:context=".ui.activity.MusicPlayer">

<TextView
android:id="@+id/textView3"
Expand Down

0 comments on commit da881e8

Please sign in to comment.