Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
43e4a7f188 | ||
|
|
c672e84610 | ||
|
|
ee792f4aa9 | ||
|
|
d672c3a709 | ||
|
|
e6a3c04312 | ||
|
|
f7ae0d4f73 | ||
|
|
3798846f72 | ||
|
|
47940a16b0 | ||
|
|
9aa192df0e | ||
|
|
bdaa98f358 | ||
|
|
bfcc938b20 | ||
|
|
2d7a4894ee | ||
|
|
4cb51c8528 | ||
|
|
1e1675ce8d | ||
|
|
323e334311 | ||
|
|
c5df4c4371 | ||
|
|
fe8c97766b | ||
|
|
02144dbc27 | ||
|
|
3df0ead4b7 | ||
|
|
9c895c1d72 | ||
|
|
eedf4e22e7 | ||
|
|
1a2fe5e25f | ||
|
|
b2c9cd6cb6 |
No files matched your search
@@ -1,2 +1,3 @@
|
|||||||
# android-hypergames
|
# android-hypergames
|
||||||
|
|
||||||
|
Games written for fun to practice Android programming and animation.
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
# Changelog
|
||||||
|
|
||||||
|
Version history for HyperGames.
|
||||||
|
|
||||||
|
## 0.1.0 (2026-11-04)
|
||||||
|
|
||||||
|
**Internal Facelift**
|
||||||
|
|
||||||
|
- Newer Android SDKs
|
||||||
|
- Icon is the correct size, no longer gets padded.
|
||||||
|
- Screens no longer get hidden by action bar.
|
||||||
|
- Upgrades
|
||||||
|
- Migrated from AppCompat libraries to AndroidX.
|
||||||
|
- Updated plugin versions such as AGP and Gradle.
|
||||||
|
- APK for release is now filtered to arm-v8a.
|
||||||
|
|
||||||
|
minSDK is now 21 from 14.
|
||||||
|
|
||||||
|
## 0.0.11 (2025-07-22)
|
||||||
|
|
||||||
|
- Minify the APK. Reduced from 1.7MB to 1.3MB with a single setting change.
|
||||||
|
- Deleted APK from the previous release since no other changes were made.
|
||||||
|
|
||||||
|
## 0.0.10 (2025-07-22)
|
||||||
|
|
||||||
|
- Begin targeting SDK 36 (Android 16).
|
||||||
|
- Remove ad-related code.
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
apply plugin: 'com.android.application'
|
|
||||||
|
|
||||||
android {
|
|
||||||
compileSdkVersion 24
|
|
||||||
buildToolsVersion "24.0.2"
|
|
||||||
defaultConfig {
|
|
||||||
applicationId "apps.hyperling.com.platformer"
|
|
||||||
minSdkVersion 15
|
|
||||||
targetSdkVersion 24
|
|
||||||
versionCode 10
|
|
||||||
versionName "0.9"
|
|
||||||
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
|
|
||||||
}
|
|
||||||
buildTypes {
|
|
||||||
release {
|
|
||||||
minifyEnabled false
|
|
||||||
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
|
||||||
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
|
|
||||||
exclude group: 'com.android.support', module: 'support-annotations'
|
|
||||||
})
|
|
||||||
compile 'com.android.support:appcompat-v7:24.2.1'
|
|
||||||
compile 'com.google.android.gms:play-services-ads:9.8.0'
|
|
||||||
testCompile 'junit:junit:4.12'
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
plugins {
|
||||||
|
alias(libs.plugins.androidApplication)
|
||||||
|
}
|
||||||
|
|
||||||
|
android {
|
||||||
|
namespace = "com.hyperling.apps.games"
|
||||||
|
compileSdk = 37
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
applicationId = "apps.hyperling.com.platformer"
|
||||||
|
minSdk = 21
|
||||||
|
targetSdk = 37
|
||||||
|
versionCode = 13
|
||||||
|
versionName = "0.1.0"
|
||||||
|
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
|
||||||
|
}
|
||||||
|
|
||||||
|
compileOptions {
|
||||||
|
sourceCompatibility = JavaVersion.VERSION_17
|
||||||
|
targetCompatibility = JavaVersion.VERSION_17
|
||||||
|
}
|
||||||
|
|
||||||
|
kotlin {
|
||||||
|
compilerOptions {
|
||||||
|
jvmTarget.set(org.jetbrains.kotlin.gradle.dsl.JvmTarget.JVM_17)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
buildTypes {
|
||||||
|
release {
|
||||||
|
isMinifyEnabled = true
|
||||||
|
isShrinkResources = true
|
||||||
|
proguardFiles(
|
||||||
|
getDefaultProguardFile("proguard-android-optimize.txt"),
|
||||||
|
"proguard-rules.pro"
|
||||||
|
)
|
||||||
|
ndk {
|
||||||
|
abiFilters += listOf("arm64-v8a")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation(libs.androidx.appcompat)
|
||||||
|
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
androidTestImplementation(libs.junit.ext)
|
||||||
|
androidTestImplementation(libs.espresso.core)
|
||||||
|
}
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
package com.hyperling.apps.games;
|
|
||||||
|
|
||||||
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.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Instrumentation test, which will execute on an Android device.
|
|
||||||
*
|
|
||||||
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
|
||||||
*/
|
|
||||||
@RunWith(AndroidJUnit4.class)
|
|
||||||
public class ExampleInstrumentedTest {
|
|
||||||
@Test
|
|
||||||
public void useAppContext() throws Exception {
|
|
||||||
// Context of the app under test.
|
|
||||||
Context appContext = InstrumentationRegistry.getTargetContext();
|
|
||||||
|
|
||||||
assertEquals("apps.hyperling.com.platformer", appContext.getPackageName());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,29 +1,21 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
package="com.hyperling.apps.games">
|
xmlns:tools="http://schemas.android.com/tools">
|
||||||
|
|
||||||
<!-- Include required permissions for Google Mobile Ads to run. -->
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:icon="@drawable/icon"
|
android:icon="@drawable/icon"
|
||||||
|
android:roundIcon="@drawable/icon"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/AppTheme"
|
android:theme="@style/AppTheme"
|
||||||
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize">
|
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize">
|
||||||
<!-- android:configChanges="orientation|keyboardHidden|screenSize" -->
|
<!-- android:configChanges="orientation|keyboardHidden|screenSize" -->
|
||||||
|
|
||||||
<!-- This meta-data tag is required to use Google Play Services. -->
|
<activity android:name="com.hyperling.apps.games.MainActivity"
|
||||||
<meta-data
|
android:exported="true">
|
||||||
android:name="com.google.android.gms.version"
|
|
||||||
android:value="@integer/google_play_services_version" />
|
|
||||||
|
|
||||||
<activity android:name="com.hyperling.apps.games.MainActivity">
|
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
<action android:name="android.intent.action.MAIN" />
|
<action android:name="android.intent.action.MAIN" />
|
||||||
|
|
||||||
<category android:name="android.intent.category.LAUNCHER" />
|
<category android:name="android.intent.category.LAUNCHER" />
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
|
|||||||
|
After Width: | Height: | Size: 14 KiB |
@@ -1,36 +0,0 @@
|
|||||||
package com.hyperling.apps.games;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.content.SharedPreferences;
|
|
||||||
import android.view.View;
|
|
||||||
|
|
||||||
import com.google.android.gms.ads.AdRequest;
|
|
||||||
import com.google.android.gms.ads.AdView;
|
|
||||||
import com.google.android.gms.ads.MobileAds;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by ling on 12/26/16.
|
|
||||||
*/
|
|
||||||
|
|
||||||
public class AdsHelper {
|
|
||||||
|
|
||||||
// To be called in onResume in Activities
|
|
||||||
public static void toggleAds(SharedPreferences sharedPreferences, String adsKey, Context applicationContext, AdView mAdView){
|
|
||||||
// Enable ads?
|
|
||||||
boolean adsEnabled = sharedPreferences.getBoolean(adsKey, false);
|
|
||||||
if (adsEnabled) {
|
|
||||||
mAdView.setVisibility(View.VISIBLE);
|
|
||||||
MobileAds.initialize(applicationContext, "ca-app-pub-3940256099942544~3347511713");
|
|
||||||
AdRequest adRequest = new AdRequest.Builder()
|
|
||||||
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
|
|
||||||
.addTestDevice("C6A494DC6E7C9AC29102694D48487084") // Nexus 7
|
|
||||||
.addTestDevice("6545BCC9B60A394005546783687339B7") // Moto G
|
|
||||||
.build();
|
|
||||||
mAdView.loadAd(adRequest);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
mAdView.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
package com.hyperling.apps.games;
|
package com.hyperling.apps.games;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import android.view.Window;
|
import android.view.Window;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +1,15 @@
|
|||||||
package com.hyperling.apps.games;
|
package com.hyperling.apps.games;
|
||||||
|
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.widget.LinearLayout;
|
import android.widget.LinearLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
import com.google.android.gms.ads.AdView;
|
|
||||||
|
|
||||||
public class HighScoreActivity extends AppCompatActivity {
|
public class HighScoreActivity extends AppCompatActivity {
|
||||||
|
|
||||||
private String sharedPreferencesKey, adsKey, TAG, html;
|
private String sharedPreferencesKey, TAG, html;
|
||||||
private String[] allBirdScoreKeys, allChickenScoreKeys;
|
private String[] allBirdScoreKeys, allChickenScoreKeys;
|
||||||
|
|
||||||
private SharedPreferences sharedPreferences;
|
private SharedPreferences sharedPreferences;
|
||||||
@@ -29,7 +27,6 @@ public class HighScoreActivity extends AppCompatActivity {
|
|||||||
sharedPreferencesKey = getString(R.string.sharedPreferencesKey);
|
sharedPreferencesKey = getString(R.string.sharedPreferencesKey);
|
||||||
allBirdScoreKeys = getResources().getStringArray(R.array.allBirdScoreKeys);
|
allBirdScoreKeys = getResources().getStringArray(R.array.allBirdScoreKeys);
|
||||||
allChickenScoreKeys = getResources().getStringArray(R.array.allChickenScoreKeys);
|
allChickenScoreKeys = getResources().getStringArray(R.array.allChickenScoreKeys);
|
||||||
adsKey = getString(R.string.adsKey);
|
|
||||||
|
|
||||||
// Shared preferences
|
// Shared preferences
|
||||||
sharedPreferences = getSharedPreferences(sharedPreferencesKey, MODE_PRIVATE);
|
sharedPreferences = getSharedPreferences(sharedPreferencesKey, MODE_PRIVATE);
|
||||||
@@ -89,7 +86,6 @@ public class HighScoreActivity extends AppCompatActivity {
|
|||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
leaderboardHelper = new LeaderboardHelper();
|
leaderboardHelper = new LeaderboardHelper();
|
||||||
displayAds();
|
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|
||||||
Runnable getHTML = new Runnable() {
|
Runnable getHTML = new Runnable() {
|
||||||
@@ -106,10 +102,6 @@ public class HighScoreActivity extends AppCompatActivity {
|
|||||||
Log.d(TAG, "HighScoreActivity.onResume() html=" + html);
|
Log.d(TAG, "HighScoreActivity.onResume() html=" + html);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void displayAds(){
|
|
||||||
AdsHelper.toggleAds(sharedPreferences, adsKey, getApplicationContext(), (AdView) findViewById(R.id.adViewHighScores));
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean isNumeric(char c){
|
private boolean isNumeric(char c){
|
||||||
try{
|
try{
|
||||||
String s = "" + c;
|
String s = "" + c;
|
||||||
|
|||||||
@@ -2,19 +2,17 @@ package com.hyperling.apps.games;
|
|||||||
|
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
|
|
||||||
import com.google.android.gms.ads.AdView;
|
|
||||||
|
|
||||||
public class MainActivity extends AppCompatActivity {
|
public class MainActivity extends AppCompatActivity {
|
||||||
|
|
||||||
private Button btnGameBird, btnGameCow, btnGamePig, btnGameChicken, btnGameCat, btnGameSquirrel, btnOptions, btnHighScores, btnHelp;
|
private Button btnGameBird, btnGameCow, btnGamePig, btnGameChicken, btnGameCat, btnGameSquirrel, btnOptions, btnHighScores, btnHelp;
|
||||||
|
|
||||||
private String TAG, sharedPreferencesKey, adsKey, birdScoreKey, chickenScoreKey;
|
private String TAG, sharedPreferencesKey, birdScoreKey, chickenScoreKey;
|
||||||
|
|
||||||
private SharedPreferences sharedPreferences;
|
private SharedPreferences sharedPreferences;
|
||||||
|
|
||||||
@@ -28,7 +26,6 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
// Keys
|
// Keys
|
||||||
sharedPreferencesKey = getString(R.string.sharedPreferencesKey);
|
sharedPreferencesKey = getString(R.string.sharedPreferencesKey);
|
||||||
adsKey = getString(R.string.adsKey);
|
|
||||||
birdScoreKey = getString(R.string.birdScoreKey);
|
birdScoreKey = getString(R.string.birdScoreKey);
|
||||||
chickenScoreKey = getString(R.string.chickenScoreKey);
|
chickenScoreKey = getString(R.string.chickenScoreKey);
|
||||||
|
|
||||||
@@ -101,8 +98,6 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
displayAds();
|
|
||||||
|
|
||||||
// Append high scores to button text
|
// Append high scores to button text
|
||||||
int score;
|
int score;
|
||||||
String newText;
|
String newText;
|
||||||
@@ -160,10 +155,6 @@ public class MainActivity extends AppCompatActivity {
|
|||||||
startActivity(options);
|
startActivity(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void displayAds(){
|
|
||||||
AdsHelper.toggleAds(sharedPreferences, adsKey, getApplicationContext(), (AdView) findViewById(R.id.adViewMain));
|
|
||||||
}
|
|
||||||
|
|
||||||
private void doHighScoresButton(){
|
private void doHighScoresButton(){
|
||||||
Intent highScores = new Intent(MainActivity.this, HighScoreActivity.class);
|
Intent highScores = new Intent(MainActivity.this, HighScoreActivity.class);
|
||||||
startActivity(highScores);
|
startActivity(highScores);
|
||||||
|
|||||||
@@ -3,30 +3,26 @@ package com.hyperling.apps.games;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.SharedPreferences;
|
import android.content.SharedPreferences;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import androidx.appcompat.app.AppCompatActivity;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.CheckBox;
|
import android.widget.CheckBox;
|
||||||
import android.widget.RelativeLayout;
|
import android.widget.RelativeLayout;
|
||||||
|
|
||||||
import com.google.android.gms.ads.AdRequest;
|
|
||||||
import com.google.android.gms.ads.AdView;
|
|
||||||
import com.google.android.gms.ads.MobileAds;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by ling on 12/22/16.
|
* Created by ling on 12/22/16.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class OptionsActivity extends AppCompatActivity {
|
public class OptionsActivity extends AppCompatActivity {
|
||||||
|
|
||||||
private String sharedPreferencesKey, adsKey, higherQualityKey, fpsKey;
|
private String sharedPreferencesKey, higherQualityKey, fpsKey;
|
||||||
|
|
||||||
private SharedPreferences sharedPreferences;
|
private SharedPreferences sharedPreferences;
|
||||||
|
|
||||||
private RelativeLayout layoutAds, layoutHigherQuality, layoutFPS;
|
private RelativeLayout layoutHigherQuality, layoutFPS;
|
||||||
private CheckBox cbAds, cbHigherQuality, cbFPS;
|
private CheckBox cbHigherQuality, cbFPS;
|
||||||
private boolean adsEnabled, higherQualityEnabled, fpsEnabled;
|
private boolean higherQualityEnabled, fpsEnabled;
|
||||||
|
|
||||||
private Button btnDeletePreferences, btnConfirmDeletePreferences;
|
private Button btnDeletePreferences, btnConfirmDeletePreferences;
|
||||||
|
|
||||||
@@ -42,24 +38,6 @@ public class OptionsActivity extends AppCompatActivity {
|
|||||||
sharedPreferencesKey = getString(R.string.sharedPreferencesKey);
|
sharedPreferencesKey = getString(R.string.sharedPreferencesKey);
|
||||||
sharedPreferences = getSharedPreferences(sharedPreferencesKey, MODE_PRIVATE);
|
sharedPreferences = getSharedPreferences(sharedPreferencesKey, MODE_PRIVATE);
|
||||||
|
|
||||||
// Set up Ads
|
|
||||||
adsKey = getString(R.string.adsKey);
|
|
||||||
layoutAds = (RelativeLayout) findViewById(R.id.optionAdsLayout);
|
|
||||||
cbAds = (CheckBox) findViewById(R.id.optionAdsCheckBox);
|
|
||||||
layoutAds.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
flipOption(adsKey);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
cbAds.setOnClickListener(new View.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
flipOption(adsKey);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
setAds();
|
|
||||||
|
|
||||||
// Higher Quality Content
|
// Higher Quality Content
|
||||||
higherQualityKey = getString(R.string.higherQualityKey);
|
higherQualityKey = getString(R.string.higherQualityKey);
|
||||||
layoutHigherQuality = (RelativeLayout) findViewById(R.id.optionHigherQualityLayout);
|
layoutHigherQuality = (RelativeLayout) findViewById(R.id.optionHigherQualityLayout);
|
||||||
@@ -123,10 +101,7 @@ public class OptionsActivity extends AppCompatActivity {
|
|||||||
editor.apply();
|
editor.apply();
|
||||||
|
|
||||||
// Change the box
|
// Change the box
|
||||||
if (key.equals(adsKey)){
|
if (key.equals(higherQualityKey)){
|
||||||
setAds();
|
|
||||||
}
|
|
||||||
else if (key.equals(higherQualityKey)){
|
|
||||||
setHigherQuality();
|
setHigherQuality();
|
||||||
}
|
}
|
||||||
else if (key.equals(fpsKey)){
|
else if (key.equals(fpsKey)){
|
||||||
@@ -134,31 +109,6 @@ public class OptionsActivity extends AppCompatActivity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setAds(){
|
|
||||||
adsEnabled = sharedPreferences.getBoolean(adsKey, false);
|
|
||||||
cbAds.setChecked(adsEnabled);
|
|
||||||
toggleAds();
|
|
||||||
}
|
|
||||||
|
|
||||||
private void toggleAds(){
|
|
||||||
// Enable ads?
|
|
||||||
adsEnabled = sharedPreferences.getBoolean(adsKey, false);
|
|
||||||
AdView mAdView = (AdView) findViewById(R.id.adViewOptions);
|
|
||||||
if (adsEnabled) {
|
|
||||||
mAdView.setVisibility(View.VISIBLE);
|
|
||||||
MobileAds.initialize(getApplicationContext(), "ca-app-pub-3940256099942544~3347511713");
|
|
||||||
AdRequest adRequest = new AdRequest.Builder()
|
|
||||||
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
|
|
||||||
.addTestDevice("C6A494DC6E7C9AC29102694D48487084") // Nexus 7
|
|
||||||
.addTestDevice("6545BCC9B60A394005546783687339B7") // Moto G
|
|
||||||
.build();
|
|
||||||
mAdView.loadAd(adRequest);
|
|
||||||
}
|
|
||||||
else{
|
|
||||||
mAdView.setVisibility(View.GONE);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setHigherQuality() {
|
public void setHigherQuality() {
|
||||||
higherQualityEnabled = sharedPreferences.getBoolean(higherQualityKey, false);
|
higherQualityEnabled = sharedPreferences.getBoolean(higherQualityKey, false);
|
||||||
cbHigherQuality.setChecked(higherQualityEnabled);
|
cbHigherQuality.setChecked(higherQualityEnabled);
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
android:width="108dp"
|
||||||
|
android:height="108dp"
|
||||||
|
android:viewportWidth="199"
|
||||||
|
android:viewportHeight="168.75">
|
||||||
|
<group android:scaleX="0.49232432"
|
||||||
|
android:scaleY="0.41748607"
|
||||||
|
android:translateX="50.266323"
|
||||||
|
android:translateY="49.98335">
|
||||||
|
<group android:translateY="133.59375">
|
||||||
|
<path android:pathData="M76.78125,-61.734375L76.78125,-42.75L24.265625,-42.75L24.265625,-61.734375L76.78125,-61.734375ZM32.484375,-102.375L32.484375,-0L7.8125,-0L7.8125,-102.375L32.484375,-102.375ZM93.375,-102.375L93.375,-0L68.765625,-0L68.765625,-102.375L93.375,-102.375Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
<path android:pathData="M192.54688,-54.703125L192.54688,-12.65625Q189.95312,-9.78125,184.5625,-6.5Q179.1875,-3.234375,171.03125,-0.90625Q162.875,1.40625,151.84375,1.40625Q141.64062,1.40625,133.34375,-1.859375Q125.046875,-5.140625,119.109375,-11.5Q113.171875,-17.859375,109.96875,-27.109375Q106.765625,-36.359375,106.765625,-48.3125L106.765625,-54Q106.765625,-65.953125,110,-75.234375Q113.234375,-84.515625,119.109375,-90.875Q124.984375,-97.25,132.95312,-100.546875Q140.9375,-103.859375,150.5,-103.859375Q164.64062,-103.859375,173.5,-99.390625Q182.35938,-94.921875,186.92188,-87.078125Q191.5,-79.25,192.48438,-68.984375L168.78125,-68.984375Q168.07812,-74.046875,166.14062,-77.59375Q164.21875,-81.140625,160.625,-83Q157.04688,-84.875,151.34375,-84.875Q146.92188,-84.875,143.29688,-82.96875Q139.67188,-81.078125,137.14062,-77.234375Q134.60938,-73.40625,133.23438,-67.640625Q131.875,-61.875,131.875,-54.140625L131.875,-48.3125Q131.875,-40.640625,133.17188,-34.875Q134.46875,-29.109375,137.10938,-25.28125Q139.75,-21.453125,143.85938,-19.515625Q147.96875,-17.578125,153.59375,-17.578125Q157.53125,-17.578125,160.34375,-18.25Q163.15625,-18.921875,165.01562,-19.9375Q166.89062,-20.953125,167.875,-21.875L167.875,-37.765625L150.71875,-37.765625L150.71875,-54.703125L192.54688,-54.703125Z"
|
||||||
|
android:fillColor="#000000"/>
|
||||||
|
</group>
|
||||||
|
</group>
|
||||||
|
</vector>
|
||||||
@@ -9,25 +9,16 @@
|
|||||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||||
android:paddingTop="@dimen/activity_vertical_margin"
|
android:paddingTop="@dimen/activity_vertical_margin"
|
||||||
|
android:fitsSystemWindows="true"
|
||||||
tools:context="com.hyperling.apps.games.HighScoreActivity">
|
tools:context="com.hyperling.apps.games.HighScoreActivity">
|
||||||
|
|
||||||
<com.google.android.gms.ads.AdView
|
|
||||||
android:id="@+id/adViewHighScores"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:visibility="gone"
|
|
||||||
ads:adSize="BANNER"
|
|
||||||
ads:adUnitId="@string/interstitial_ad_unit_id_high_score" />
|
|
||||||
|
|
||||||
<ScrollView
|
<ScrollView
|
||||||
android:id="@+id/scrollViewHighScore"
|
android:id="@+id/scrollViewHighScore"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
android:layout_above="@+id/adViewHighScores">
|
android:layout_alignParentBottom="true">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
|
|||||||
@@ -9,25 +9,16 @@
|
|||||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||||
android:paddingTop="@dimen/activity_vertical_margin"
|
android:paddingTop="@dimen/activity_vertical_margin"
|
||||||
|
android:fitsSystemWindows="true"
|
||||||
tools:context="com.hyperling.apps.games.MainActivity">
|
tools:context="com.hyperling.apps.games.MainActivity">
|
||||||
|
|
||||||
<com.google.android.gms.ads.AdView
|
|
||||||
android:id="@+id/adViewMain"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:visibility="gone"
|
|
||||||
ads:adSize="BANNER"
|
|
||||||
ads:adUnitId="@string/interstitial_ad_unit_id_main" />
|
|
||||||
|
|
||||||
<ScrollView
|
<ScrollView
|
||||||
android:id="@+id/scrollViewMain"
|
android:id="@+id/scrollViewMain"
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_alignParentTop="true"
|
android:layout_alignParentTop="true"
|
||||||
android:layout_centerHorizontal="true"
|
android:layout_centerHorizontal="true"
|
||||||
android:layout_above="@+id/adViewMain">
|
android:layout_alignParentBottom="true">
|
||||||
|
|
||||||
<LinearLayout
|
<LinearLayout
|
||||||
android:layout_width="wrap_content"
|
android:layout_width="wrap_content"
|
||||||
|
|||||||
@@ -10,23 +10,14 @@
|
|||||||
android:paddingLeft="@dimen/activity_horizontal_margin"
|
android:paddingLeft="@dimen/activity_horizontal_margin"
|
||||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||||
android:paddingTop="@dimen/activity_vertical_margin"
|
android:paddingTop="@dimen/activity_vertical_margin"
|
||||||
|
android:fitsSystemWindows="true"
|
||||||
tools:context="com.hyperling.apps.games.OptionsActivity">
|
tools:context="com.hyperling.apps.games.OptionsActivity">
|
||||||
|
|
||||||
<com.google.android.gms.ads.AdView
|
|
||||||
android:id="@+id/adViewOptions"
|
|
||||||
android:layout_width="match_parent"
|
|
||||||
android:layout_height="wrap_content"
|
|
||||||
android:layout_alignParentBottom="true"
|
|
||||||
android:layout_centerHorizontal="true"
|
|
||||||
android:visibility="gone"
|
|
||||||
ads:adSize="BANNER"
|
|
||||||
ads:adUnitId="@string/interstitial_ad_unit_id_options" />
|
|
||||||
|
|
||||||
<ScrollView
|
<ScrollView
|
||||||
android:id="@+id/scrollViewOptions"
|
android:id="@+id/scrollViewOptions"
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_above="@+id/adViewOptions"
|
android:layout_alignParentBottom="true"
|
||||||
android:layout_centerInParent="true"
|
android:layout_centerInParent="true"
|
||||||
android:layout_alignParentTop="true">
|
android:layout_alignParentTop="true">
|
||||||
|
|
||||||
@@ -35,6 +26,7 @@
|
|||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:orientation="vertical">
|
android:orientation="vertical">
|
||||||
|
|
||||||
|
<!--
|
||||||
<TextView
|
<TextView
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
@@ -77,6 +69,7 @@
|
|||||||
<Space
|
<Space
|
||||||
android:layout_width="match_parent"
|
android:layout_width="match_parent"
|
||||||
android:layout_height="@dimen/spaceSize" />
|
android:layout_height="@dimen/spaceSize" />
|
||||||
|
-->
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:text="@string/optionGroupInGame"
|
android:text="@string/optionGroupInGame"
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<background android:drawable="@color/ic_launcher_background"/>
|
||||||
|
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||||
|
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
|
||||||
|
</adaptive-icon>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
<background android:drawable="@color/ic_launcher_background"/>
|
||||||
|
<foreground android:drawable="@mipmap/ic_launcher_foreground"/>
|
||||||
|
<monochrome android:drawable="@drawable/ic_launcher_monochrome"/>
|
||||||
|
</adaptive-icon>
|
||||||
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.3 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 6.9 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<color name="ic_launcher_background">#6400C8</color>
|
||||||
|
</resources>
|
||||||
@@ -36,7 +36,6 @@
|
|||||||
<string name="optionGroupOnline">Online</string>
|
<string name="optionGroupOnline">Online</string>
|
||||||
<string name="optionGroupOther">Other</string>
|
<string name="optionGroupOther">Other</string>
|
||||||
|
|
||||||
<string name="optionAds">Allow Ads on Menu Screens?</string>
|
|
||||||
<string name="optionPracticeRound">Play Practice Round when Starting New Games?</string>
|
<string name="optionPracticeRound">Play Practice Round when Starting New Games?</string>
|
||||||
<string name="optionHigherQuality">Allow Higher Quality Images and Animations?</string>
|
<string name="optionHigherQuality">Allow Higher Quality Images and Animations?</string>
|
||||||
<string name="optionFPS">Display FPS?</string>
|
<string name="optionFPS">Display FPS?</string>
|
||||||
@@ -52,7 +51,6 @@
|
|||||||
<!-- Shared Preferences -->
|
<!-- Shared Preferences -->
|
||||||
<string name="sharedPreferencesKey">HyperGames</string>
|
<string name="sharedPreferencesKey">HyperGames</string>
|
||||||
<!-- Options -->
|
<!-- Options -->
|
||||||
<string name="adsKey">Ads</string>
|
|
||||||
<string name="practiceRoundKey">Practice</string>
|
<string name="practiceRoundKey">Practice</string>
|
||||||
<string name="higherQualityKey">HigherQuality</string>
|
<string name="higherQualityKey">HigherQuality</string>
|
||||||
<string name="fpsKey">FPS</string>
|
<string name="fpsKey">FPS</string>
|
||||||
@@ -82,11 +80,4 @@
|
|||||||
<item>ChickenScore008(Alpha)</item>
|
<item>ChickenScore008(Alpha)</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
||||||
<!-- -
|
|
||||||
This is an ad unit ID for an interstitial test ad. Replace with your own interstitial ad unit id.
|
|
||||||
For more information, see https://support.google.com/admob/answer/3052638
|
|
||||||
<!- -->
|
|
||||||
<string name="interstitial_ad_unit_id_main">ca-app-pub-9712416021907617/7877767281</string>
|
|
||||||
<string name="interstitial_ad_unit_id_options">ca-app-pub-9712416021907617/3307966880</string>
|
|
||||||
<string name="interstitial_ad_unit_id_high_score">ca-app-pub-9712416021907617/4784700088</string>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1,17 +0,0 @@
|
|||||||
package com.hyperling.apps.games;
|
|
||||||
|
|
||||||
import org.junit.Test;
|
|
||||||
|
|
||||||
import static org.junit.Assert.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Example local unit test, which will execute on the development machine (host).
|
|
||||||
*
|
|
||||||
* @see <a href="http://d.android.com/tools/testing">Testing documentation</a>
|
|
||||||
*/
|
|
||||||
public class ExampleUnitTest {
|
|
||||||
@Test
|
|
||||||
public void addition_isCorrect() throws Exception {
|
|
||||||
assertEquals(4, 2 + 2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
AuthorName: 'Chad Michael "Hyperling" Greenwood'
|
||||||
|
AuthorWebSite: 'https://hyperling.com/about/'
|
||||||
|
Donate: 'https://hyperling.com/donate/'
|
||||||
|
Liberapay: 'HyperVegan'
|
||||||
|
Bitcoin: 'bc1qsfe8dkvry3d34kztz449gkq67wq8fu2nkgfkh0'
|
||||||
|
Litecoin: 'ltc1qavmpu5d6ljntxsd6jj548m4yys83zwscl0dzkx'
|
||||||
|
IssueTracker: 'https://hyperling.com/contact/'
|
||||||
|
Categories:
|
||||||
|
- fdroid
|
||||||
|
- hyperling
|
||||||
|
- games
|
||||||
|
Name: Hyper Games
|
||||||
|
AuthorEmail: 'me+hypergames@hyperling.com'
|
||||||
|
Summary: 'Started as a fun project for learning. Playable but unfinished.'
|
||||||
|
SourceCode: 'https://git.hyperling.com/me/android-hypergames/'
|
||||||
|
WebSite: 'https://hyperling.com/apps/#games'
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
|
||||||
|
|
||||||
buildscript {
|
|
||||||
repositories {
|
|
||||||
jcenter()
|
|
||||||
google()
|
|
||||||
}
|
|
||||||
dependencies {
|
|
||||||
classpath 'com.android.tools.build:gradle:3.2.1'
|
|
||||||
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
|
||||||
// in the individual module build.gradle files
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
allprojects {
|
|
||||||
repositories {
|
|
||||||
jcenter()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
task clean(type: Delete) {
|
|
||||||
delete rootProject.buildDir
|
|
||||||
}
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
// Root build file - plugins managed via gradle/libs.versions.toml
|
||||||
@@ -15,3 +15,7 @@ org.gradle.jvmargs=-Xmx1536m
|
|||||||
# This option should only be used with decoupled projects. More details, visit
|
# This option should only be used with decoupled projects. More details, visit
|
||||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||||
# org.gradle.parallel=true
|
# org.gradle.parallel=true
|
||||||
|
|
||||||
|
# Move to AndroidX
|
||||||
|
android.useAndroidX=true
|
||||||
|
# android.enableJetifier removed - all support libs migrated to AndroidX
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
#This file is generated by updateDaemonJvm
|
||||||
|
toolchainUrl.FREE_BSD.AARCH64=https\://api.foojay.io/disco/v3.0/ids/cf726b4a1c84b50457225f9bba6d7650/redirect
|
||||||
|
toolchainUrl.FREE_BSD.X86_64=https\://api.foojay.io/disco/v3.0/ids/fa1e318c287360478e3c83a9a3ef1007/redirect
|
||||||
|
toolchainUrl.LINUX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/cf726b4a1c84b50457225f9bba6d7650/redirect
|
||||||
|
toolchainUrl.LINUX.X86_64=https\://api.foojay.io/disco/v3.0/ids/fa1e318c287360478e3c83a9a3ef1007/redirect
|
||||||
|
toolchainUrl.MAC_OS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/c2dd35c9d0aaf0ba6ad0791320f99dfc/redirect
|
||||||
|
toolchainUrl.MAC_OS.X86_64=https\://api.foojay.io/disco/v3.0/ids/e5810bd7fd1f8a586644409d395a7e55/redirect
|
||||||
|
toolchainUrl.UNIX.AARCH64=https\://api.foojay.io/disco/v3.0/ids/cf726b4a1c84b50457225f9bba6d7650/redirect
|
||||||
|
toolchainUrl.UNIX.X86_64=https\://api.foojay.io/disco/v3.0/ids/fa1e318c287360478e3c83a9a3ef1007/redirect
|
||||||
|
toolchainUrl.WINDOWS.AARCH64=https\://api.foojay.io/disco/v3.0/ids/7b3c4877c0749019e6805bb61e421497/redirect
|
||||||
|
toolchainUrl.WINDOWS.X86_64=https\://api.foojay.io/disco/v3.0/ids/d76df094a9cbbabd3b08251f9e61444a/redirect
|
||||||
|
toolchainVersion=25
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
[versions]
|
||||||
|
agp = "9.5.0"
|
||||||
|
kotlin = "2.4.21"
|
||||||
|
coreKtx = "1.19.1"
|
||||||
|
appcompat = "1.7.1"
|
||||||
|
espressoCore = "3.7.0"
|
||||||
|
junit = "4.13.2"
|
||||||
|
junitVersion = "1.3.0"
|
||||||
|
|
||||||
|
[libraries]
|
||||||
|
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
|
||||||
|
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
|
||||||
|
espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
|
||||||
|
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
||||||
|
junit-ext = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
|
||||||
|
|
||||||
|
[plugins]
|
||||||
|
androidApplication = { id = "com.android.application", version.ref = "agp" }
|
||||||
|
kotlinCompose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
#Thu Jan 10 06:49:36 CST 2019
|
#Thu Jan 10 06:49:36 CST 2019
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-9.8.2-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
include ':app'
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
pluginManagement {
|
||||||
|
repositories {
|
||||||
|
google()
|
||||||
|
mavenCentral()
|
||||||
|
gradlePluginPortal()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencyResolutionManagement {
|
||||||
|
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
||||||
|
repositories {
|
||||||
|
google()
|
||||||
|
mavenCentral()
|
||||||
|
maven { url = uri("https://jitpack.io") }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rootProject.name = "HyperGames"
|
||||||
|
include(":app")
|
||||||