1 package com.hwloc.lstopo; 2 3 import android.app.Activity; 4 import android.content.Intent; 5 import android.graphics.Color; 6 import android.net.Uri; 7 import android.os.Bundle; 8 import android.util.DisplayMetrics; 9 import android.view.View; 10 import android.widget.Button; 11 import android.widget.LinearLayout; 12 import android.widget.TextView; 13 14 import static android.view.View.TEXT_ALIGNMENT_CENTER; 15 16 public class About extends Activity { 17 18 private final String github = "https://github.com/open-mpi/hwloc"; 19 private final String website = "https://www.open-mpi.org/projects/hwloc"; 20 private final String ci = "https://ci.inria.fr/hwloc/job/extended/job/master"; 21 22 23 @Override onCreate(Bundle savedInstanceState)24 protected void onCreate(Bundle savedInstanceState) { 25 super.onCreate(savedInstanceState); 26 27 setContentView(R.layout.about); 28 29 // Set windows size 30 DisplayMetrics dm = new DisplayMetrics(); 31 getWindowManager().getDefaultDisplay().getMetrics(dm); 32 int width = dm.widthPixels; 33 int height = dm.heightPixels; 34 getWindow().setLayout((int) (width * 0.8), (int) (height * 0.5)); 35 36 TextView tvAppName = findViewById(R.id.app_name); 37 tvAppName.setTextSize(40); 38 39 String versionName = BuildConfig.VERSION_NAME; 40 TextView tvVersion = findViewById(R.id.version); 41 tvVersion.setText("Version: " + versionName); 42 tvVersion.setTextSize(20); 43 44 TextView tvWebsite = findViewById(R.id.open_mpi); 45 tvWebsite.setText("Project Website: "); 46 tvWebsite.setTextSize(20); 47 48 TextView tvWebsiteLink = findViewById(R.id.open_mpi_link); 49 tvWebsiteLink.setText(website); 50 tvWebsiteLink.setTextColor(Color.parseColor("#4295f7")); 51 tvWebsiteLink.setTextAlignment(TEXT_ALIGNMENT_CENTER); 52 tvWebsiteLink.setTextSize(20); 53 tvWebsiteLink.setOnClickListener(new View.OnClickListener() { 54 @Override 55 public void onClick(View v) { 56 goToLink(website); 57 } 58 }); 59 60 TextView tvGithub = findViewById(R.id.github); 61 tvGithub.setText("GitHub Repository: "); 62 tvGithub.setTextSize(20); 63 64 TextView tvGithubLink = findViewById(R.id.github_link); 65 tvGithubLink.setText(github); 66 tvGithubLink.setTextColor(Color.parseColor("#4295f7")); 67 tvGithubLink.setTextAlignment(TEXT_ALIGNMENT_CENTER); 68 tvGithubLink.setTextSize(20); 69 LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 70 params.setMargins(0,0,0,dpToPx(30)); 71 tvGithubLink.setLayoutParams(params); 72 tvGithubLink.setOnClickListener(new View.OnClickListener() { 73 @Override 74 public void onClick(View v) { 75 goToLink(github); 76 } 77 }); 78 79 LinearLayout.LayoutParams paramsDebug = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); 80 paramsDebug.setMargins(0,0,0,dpToPx(10)); 81 tvGithubLink.setLayoutParams(paramsDebug); 82 83 TextView tvCi = findViewById(R.id.ci); 84 tvCi.setText("CI with latest APKs: "); 85 tvCi.setTextSize(20); 86 87 TextView tvCiLink = findViewById(R.id.ci_link); 88 tvCiLink.setText(ci); 89 tvCiLink.setTextColor(Color.parseColor("#4295f7")); 90 tvCiLink.setTextAlignment(TEXT_ALIGNMENT_CENTER); 91 tvCiLink.setTextSize(20); 92 tvCiLink.setOnClickListener(new View.OnClickListener() { 93 @Override 94 public void onClick(View v) { 95 goToLink(ci); 96 } 97 }); 98 99 Button bClose = findViewById(R.id.close); 100 bClose.setOnClickListener(new View.OnClickListener() { 101 @Override 102 public void onClick(View v) { 103 finish(); 104 } 105 }); 106 } 107 goToLink(String url)108 void goToLink(String url){ 109 Uri uri = Uri.parse(url); 110 Intent intent = new Intent(Intent.ACTION_VIEW, uri); 111 startActivity(intent); 112 } 113 dpToPx(int dp)114 public int dpToPx(int dp){ 115 return (int) (dp * ((float) getResources().getDisplayMetrics().densityDpi / DisplayMetrics.DENSITY_DEFAULT)); 116 } 117 } 118