Professional Documents
Culture Documents
Catch Up Android Manifest
Catch Up Android Manifest
ANDROID MANIFEST
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dist="http://schemas.android.com/apk/distribution"
package="pe.edu.upc.catchup">
<dist:module dist:instant="true"/>
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:name=".CatchUpApp"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data android:name="DATABASE" android:value="catch_up.db" />
<meta-data android:name="VERSION" android:value="1" />
<meta-data android:name="QUERY_LOG" android:value="true" />
<meta-data android:name="DOMAIN_PACKAGE_NAME" android:value="pe.edu.upc.catchup.models" />
<activity
android:name=".controllers.activities.SourceActivity"
android:label="@string/title_activity_source"
android:parentActivityName=".controllers.activities.MainActivity"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="pe.edu.upc.catchup.controllers.activities.MainActivity"/>
</activity>
<activity
android:name=".controllers.activities.MainActivity"
android:launchMode="singleInstance"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
ARTICLESADAPTER
package pe.edu.upc.catchup.adapters
import android.content.Intent
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.item_article.view.*
import pe.edu.upc.catchup.R
import pe.edu.upc.catchup.models.Article
}
}
SOURCE ADAPTER
package pe.edu.upc.catchup.adapters
import android.content.Intent
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.activity_main.view.*
import kotlinx.android.synthetic.main.item_source.view.*
import pe.edu.upc.catchup.R
import pe.edu.upc.catchup.controllers.activities.SourceActivity
import pe.edu.upc.catchup.models.Favorite
import pe.edu.upc.catchup.models.Source
import java.io.Serializable
fun verifyItemChanged() {
notifyItemChanged(selectedIndex)
}
}
import android.os.Bundle
import android.view.MenuItem
import com.google.android.material.bottomnavigation.BottomNavigationView
import androidx.appcompat.app.AppCompatActivity
import android.widget.TextView
import androidx.fragment.app.Fragment
import pe.edu.upc.catchup.R
import pe.edu.upc.catchup.controllers.fragments.FavoritesFragment
import pe.edu.upc.catchup.controllers.fragments.HomeFragment
import pe.edu.upc.catchup.controllers.fragments.SettingsFragment
import pe.edu.upc.catchup.controllers.fragments.SourcesFragment
import pe.edu.upc.catchup.network.NewsApi
navView.setOnNavigationItemSelectedListener(onNavigationItemSelectedListener)
navigateTo(navView.menu.findItem(R.id.navigation_home))
}
return supportFragmentManager
.beginTransaction()
.replace(R.id.content, getFragmentFor(item))
.commit() > 0
}
}
package pe.edu.upc.catchup.controllers.activities
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity;
import pe.edu.upc.catchup.R
import kotlinx.android.synthetic.main.activity_source.*
import kotlinx.android.synthetic.main.content_source.*
import pe.edu.upc.catchup.models.Favorite
import pe.edu.upc.catchup.models.Source
}
}
}
package pe.edu.upc.catchup.controllers.fragments
import android.os.Bundle
import android.util.Log
import androidx.fragment.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.fragment_sources.view.*
import pe.edu.upc.catchup.R
import pe.edu.upc.catchup.adapters.SourcesAdapter
import pe.edu.upc.catchup.models.Source
import pe.edu.upc.catchup.network.NewsApi
/**
* A simple [Fragment] subclass.
*
*/
class SourcesFragment : Fragment() {
private lateinit var sourcesRecyclerView: RecyclerView
import android.os.Parcelable
import kotlinx.android.parcel.Parcelize
import java.io.Serializable
import com.orm.SugarRecord
import pe.edu.upc.catchup.R
import android.os.Parcel
import android.os.Parcelable
import com.orm.SugarRecord
import kotlinx.android.parcel.Parceler
import kotlinx.android.parcel.Parcelize
import pe.edu.upc.catchup.network.LogoApi
import java.io.Serializable
import android.app.Application
import com.androidnetworking.AndroidNetworking
import com.jacksonandroidnetworking.JacksonParserFactory
import com.orm.SugarApp
GRADLE SCRIPTS
BUILDGRADLE MODULE
apply plugin: 'com.android.application'
android {
compileSdkVersion 28
defaultConfig {
applicationId "pe.edu.upc.catchup"
minSdkVersion 26
targetSdkVersion 28
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-
rules.pro'
}
}
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.core:core-ktx:1.0.1'
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.amitshekhar.android:android-networking:1.0.2'
implementation 'com.amitshekhar.android:jackson-android-networking:1.0.2'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.github.satyan:sugar:1.5'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
}
// Top-level build file where you can add configuration options common to all sub-
projects/modules.
buildscript {
ext.kotlin_version = '1.3.30'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
}
}