Repository files navigation

Background Location Tracking App

Overview

This Android app allows users to track their location in the background and store location data for later use.

Setup and Usage

  1. Clone the Repository:
    • Clone this repository to your local machine using git clone https://github.com/tridevdeka/Run-Track.git.
  2. Open in Android Studio:
    • Open the project in Android Studio.
  3. Build and Run:
    • Build and run the project on an Android device or emulator.

Libraries Used

  • AndroidX Libraries:

    • Purpose: AndroidX libraries provide backward compatibility and additional features.
    • Integration: Added AndroidX dependencies in the build.gradle file.
  • Jetpack Navigation:

    • Purpose: Jetpack Navigation simplifies navigation between different screens in the app.
    • Integration: Integrated Jetpack Navigation by adding the Navigation component in the build.gradle file and setting up navigation graphs.
  • Google Play Services Location API:

    • Purpose: Used for accessing the device's location services for background location tracking.
    • Integration: Added dependency in the build.gradle file and implemented necessary permissions and code to request and receive location updates.
  • Google Maps API / Android MapView:

    • Purpose: Used to visualize the user's location on a map.
    • Integration: Integrated either the Google Maps API or Android's MapView by adding the necessary dependencies in the build.gradle file and implementing the map view in the layout XML files.
  • SQLite Database:

    • Purpose: Used for storing location data locally.
    • Integration: Utilized SQLiteOpenHelper or Room Persistence Library to create and manage the local database. Implemented necessary data models and DAOs for interacting with the database.
  • MVVM Architecture:

    • Purpose: MVVM (Model-View-ViewModel) architecture separates the UI logic from the business logic, making the app more modular and easier to maintain.
    • Integration: Implemented MVVM architecture by structuring the app into models, views, and view models. Used data binding to connect views with view models.
  • Hilt Dependency Injection:

    • Purpose: Hilt simplifies dependency injection in Android apps, making it easier to manage dependencies and improve code organization.
    • Integration: Integrated Hilt by adding the necessary dependencies in the build.gradle file and setting up Hilt modules and components for dependency injection.
  • Firebase Firestore:

    • Purpose: Utilizes Firebase Firestore for cloud-based storage of location data, enabling synchronization across devices.
  • Coroutines:

    • Purpose: Uses Kotlin Coroutines for asynchronous and non-blocking programming, enhancing app responsiveness and performance.
  • Glide:

    • Purpose: Integrates Glide for efficient loading and caching of images, particularly useful for displaying map markers.
  • Demo Videohttps://github.com/tridevdeka/Run-Track/assets/49573131/eac0198f-c5d9-497a-9b2e-7094b3be3c6c

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Background Location Tracking App

Overview

This Android app allows users to track their location in the background and store location data for later use.

Setup and Usage

  1. Clone the Repository:
    • Clone this repository to your local machine using git clone https://github.com/tridevdeka/Run-Track.git.
  2. Open in Android Studio:
    • Open the project in Android Studio.
  3. Build and Run:
    • Build and run the project on an Android device or emulator.

Libraries Used

  • AndroidX Libraries:

    • Purpose: AndroidX libraries provide backward compatibility and additional features.
    • Integration: Added AndroidX dependencies in the build.gradle file.
  • Jetpack Navigation:

    • Purpose: Jetpack Navigation simplifies navigation between different screens in the app.
    • Integration: Integrated Jetpack Navigation by adding the Navigation component in the build.gradle file and setting up navigation graphs.
  • Google Play Services Location API:

    • Purpose: Used for accessing the device's location services for background location tracking.
    • Integration: Added dependency in the build.gradle file and implemented necessary permissions and code to request and receive location updates.
  • Google Maps API / Android MapView:

    • Purpose: Used to visualize the user's location on a map.
    • Integration: Integrated either the Google Maps API or Android's MapView by adding the necessary dependencies in the build.gradle file and implementing the map view in the layout XML files.
  • SQLite Database:

    • Purpose: Used for storing location data locally.
    • Integration: Utilized SQLiteOpenHelper or Room Persistence Library to create and manage the local database. Implemented necessary data models and DAOs for interacting with the database.
  • MVVM Architecture:

    • Purpose: MVVM (Model-View-ViewModel) architecture separates the UI logic from the business logic, making the app more modular and easier to maintain.
    • Integration: Implemented MVVM architecture by structuring the app into models, views, and view models. Used data binding to connect views with view models.
  • Hilt Dependency Injection:

    • Purpose: Hilt simplifies dependency injection in Android apps, making it easier to manage dependencies and improve code organization.
    • Integration: Integrated Hilt by adding the necessary dependencies in the build.gradle file and setting up Hilt modules and components for dependency injection.
  • Firebase Firestore:

    • Purpose: Utilizes Firebase Firestore for cloud-based storage of location data, enabling synchronization across devices.
  • Coroutines:

    • Purpose: Uses Kotlin Coroutines for asynchronous and non-blocking programming, enhancing app responsiveness and performance.
  • Glide:

    • Purpose: Integrates Glide for efficient loading and caching of images, particularly useful for displaying map markers.
  • Demo Videohttps://github.com/tridevdeka/Run-Track/assets/49573131/eac0198f-c5d9-497a-9b2e-7094b3be3c6c

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Background Location Tracking App

Overview

This Android app allows users to track their location in the background and store location data for later use.

Setup and Usage

  1. Clone the Repository:
    • Clone this repository to your local machine using git clone https://github.com/tridevdeka/Run-Track.git.
  2. Open in Android Studio:
    • Open the project in Android Studio.
  3. Build and Run:
    • Build and run the project on an Android device or emulator.

Libraries Used

  • AndroidX Libraries:

    • Purpose: AndroidX libraries provide backward compatibility and additional features.
    • Integration: Added AndroidX dependencies in the build.gradle file.
  • Jetpack Navigation:

    • Purpose: Jetpack Navigation simplifies navigation between different screens in the app.
    • Integration: Integrated Jetpack Navigation by adding the Navigation component in the build.gradle file and setting up navigation graphs.
  • Google Play Services Location API:

    • Purpose: Used for accessing the device's location services for background location tracking.
    • Integration: Added dependency in the build.gradle file and implemented necessary permissions and code to request and receive location updates.
  • Google Maps API / Android MapView:

    • Purpose: Used to visualize the user's location on a map.
    • Integration: Integrated either the Google Maps API or Android's MapView by adding the necessary dependencies in the build.gradle file and implementing the map view in the layout XML files.
  • SQLite Database:

    • Purpose: Used for storing location data locally.
    • Integration: Utilized SQLiteOpenHelper or Room Persistence Library to create and manage the local database. Implemented necessary data models and DAOs for interacting with the database.
  • MVVM Architecture:

    • Purpose: MVVM (Model-View-ViewModel) architecture separates the UI logic from the business logic, making the app more modular and easier to maintain.
    • Integration: Implemented MVVM architecture by structuring the app into models, views, and view models. Used data binding to connect views with view models.
  • Hilt Dependency Injection:

    • Purpose: Hilt simplifies dependency injection in Android apps, making it easier to manage dependencies and improve code organization.
    • Integration: Integrated Hilt by adding the necessary dependencies in the build.gradle file and setting up Hilt modules and components for dependency injection.
  • Firebase Firestore:

    • Purpose: Utilizes Firebase Firestore for cloud-based storage of location data, enabling synchronization across devices.
  • Coroutines:

    • Purpose: Uses Kotlin Coroutines for asynchronous and non-blocking programming, enhancing app responsiveness and performance.
  • Glide:

    • Purpose: Integrates Glide for efficient loading and caching of images, particularly useful for displaying map markers.
  • Demo Videohttps://github.com/tridevdeka/Run-Track/assets/49573131/eac0198f-c5d9-497a-9b2e-7094b3be3c6c

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Background Location Tracking App

Overview

This Android app allows users to track their location in the background and store location data for later use.

Setup and Usage

  1. Clone the Repository:
    • Clone this repository to your local machine using git clone https://github.com/tridevdeka/Run-Track.git.
  2. Open in Android Studio:
    • Open the project in Android Studio.
  3. Build and Run:
    • Build and run the project on an Android device or emulator.

Libraries Used

  • AndroidX Libraries:

    • Purpose: AndroidX libraries provide backward compatibility and additional features.
    • Integration: Added AndroidX dependencies in the build.gradle file.
  • Jetpack Navigation:

    • Purpose: Jetpack Navigation simplifies navigation between different screens in the app.
    • Integration: Integrated Jetpack Navigation by adding the Navigation component in the build.gradle file and setting up navigation graphs.
  • Google Play Services Location API:

    • Purpose: Used for accessing the device's location services for background location tracking.
    • Integration: Added dependency in the build.gradle file and implemented necessary permissions and code to request and receive location updates.
  • Google Maps API / Android MapView:

    • Purpose: Used to visualize the user's location on a map.
    • Integration: Integrated either the Google Maps API or Android's MapView by adding the necessary dependencies in the build.gradle file and implementing the map view in the layout XML files.
  • SQLite Database:

    • Purpose: Used for storing location data locally.
    • Integration: Utilized SQLiteOpenHelper or Room Persistence Library to create and manage the local database. Implemented necessary data models and DAOs for interacting with the database.
  • MVVM Architecture:

    • Purpose: MVVM (Model-View-ViewModel) architecture separates the UI logic from the business logic, making the app more modular and easier to maintain.
    • Integration: Implemented MVVM architecture by structuring the app into models, views, and view models. Used data binding to connect views with view models.
  • Hilt Dependency Injection:

    • Purpose: Hilt simplifies dependency injection in Android apps, making it easier to manage dependencies and improve code organization.
    • Integration: Integrated Hilt by adding the necessary dependencies in the build.gradle file and setting up Hilt modules and components for dependency injection.
  • Firebase Firestore:

    • Purpose: Utilizes Firebase Firestore for cloud-based storage of location data, enabling synchronization across devices.
  • Coroutines:

    • Purpose: Uses Kotlin Coroutines for asynchronous and non-blocking programming, enhancing app responsiveness and performance.
  • Glide:

    • Purpose: Integrates Glide for efficient loading and caching of images, particularly useful for displaying map markers.
  • Demo Videohttps://github.com/tridevdeka/Run-Track/assets/49573131/eac0198f-c5d9-497a-9b2e-7094b3be3c6c

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Background Location Tracking App

Overview

This Android app allows users to track their location in the background and store location data for later use.

Setup and Usage

  1. Clone the Repository:
    • Clone this repository to your local machine using git clone https://github.com/tridevdeka/Run-Track.git.
  2. Open in Android Studio:
    • Open the project in Android Studio.
  3. Build and Run:
    • Build and run the project on an Android device or emulator.

Libraries Used

  • AndroidX Libraries:

    • Purpose: AndroidX libraries provide backward compatibility and additional features.
    • Integration: Added AndroidX dependencies in the build.gradle file.
  • Jetpack Navigation:

    • Purpose: Jetpack Navigation simplifies navigation between different screens in the app.
    • Integration: Integrated Jetpack Navigation by adding the Navigation component in the build.gradle file and setting up navigation graphs.
  • Google Play Services Location API:

    • Purpose: Used for accessing the device's location services for background location tracking.
    • Integration: Added dependency in the build.gradle file and implemented necessary permissions and code to request and receive location updates.
  • Google Maps API / Android MapView:

    • Purpose: Used to visualize the user's location on a map.
    • Integration: Integrated either the Google Maps API or Android's MapView by adding the necessary dependencies in the build.gradle file and implementing the map view in the layout XML files.
  • SQLite Database:

    • Purpose: Used for storing location data locally.
    • Integration: Utilized SQLiteOpenHelper or Room Persistence Library to create and manage the local database. Implemented necessary data models and DAOs for interacting with the database.
  • MVVM Architecture:

    • Purpose: MVVM (Model-View-ViewModel) architecture separates the UI logic from the business logic, making the app more modular and easier to maintain.
    • Integration: Implemented MVVM architecture by structuring the app into models, views, and view models. Used data binding to connect views with view models.
  • Hilt Dependency Injection:

    • Purpose: Hilt simplifies dependency injection in Android apps, making it easier to manage dependencies and improve code organization.
    • Integration: Integrated Hilt by adding the necessary dependencies in the build.gradle file and setting up Hilt modules and components for dependency injection.
  • Firebase Firestore:

    • Purpose: Utilizes Firebase Firestore for cloud-based storage of location data, enabling synchronization across devices.
  • Coroutines:

    • Purpose: Uses Kotlin Coroutines for asynchronous and non-blocking programming, enhancing app responsiveness and performance.
  • Glide:

    • Purpose: Integrates Glide for efficient loading and caching of images, particularly useful for displaying map markers.
  • Demo Videohttps://github.com/tridevdeka/Run-Track/assets/49573131/eac0198f-c5d9-497a-9b2e-7094b3be3c6c

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Background Location Tracking App

Overview

This Android app allows users to track their location in the background and store location data for later use.

Setup and Usage

  1. Clone the Repository:
    • Clone this repository to your local machine using git clone https://github.com/tridevdeka/Run-Track.git.
  2. Open in Android Studio:
    • Open the project in Android Studio.
  3. Build and Run:
    • Build and run the project on an Android device or emulator.

Libraries Used

  • AndroidX Libraries:

    • Purpose: AndroidX libraries provide backward compatibility and additional features.
    • Integration: Added AndroidX dependencies in the build.gradle file.
  • Jetpack Navigation:

    • Purpose: Jetpack Navigation simplifies navigation between different screens in the app.
    • Integration: Integrated Jetpack Navigation by adding the Navigation component in the build.gradle file and setting up navigation graphs.
  • Google Play Services Location API:

    • Purpose: Used for accessing the device's location services for background location tracking.
    • Integration: Added dependency in the build.gradle file and implemented necessary permissions and code to request and receive location updates.
  • Google Maps API / Android MapView:

    • Purpose: Used to visualize the user's location on a map.
    • Integration: Integrated either the Google Maps API or Android's MapView by adding the necessary dependencies in the build.gradle file and implementing the map view in the layout XML files.
  • SQLite Database:

    • Purpose: Used for storing location data locally.
    • Integration: Utilized SQLiteOpenHelper or Room Persistence Library to create and manage the local database. Implemented necessary data models and DAOs for interacting with the database.
  • MVVM Architecture:

    • Purpose: MVVM (Model-View-ViewModel) architecture separates the UI logic from the business logic, making the app more modular and easier to maintain.
    • Integration: Implemented MVVM architecture by structuring the app into models, views, and view models. Used data binding to connect views with view models.
  • Hilt Dependency Injection:

    • Purpose: Hilt simplifies dependency injection in Android apps, making it easier to manage dependencies and improve code organization.
    • Integration: Integrated Hilt by adding the necessary dependencies in the build.gradle file and setting up Hilt modules and components for dependency injection.
  • Firebase Firestore:

    • Purpose: Utilizes Firebase Firestore for cloud-based storage of location data, enabling synchronization across devices.
  • Coroutines:

    • Purpose: Uses Kotlin Coroutines for asynchronous and non-blocking programming, enhancing app responsiveness and performance.
  • Glide:

    • Purpose: Integrates Glide for efficient loading and caching of images, particularly useful for displaying map markers.
  • Demo Videohttps://github.com/tridevdeka/Run-Track/assets/49573131/eac0198f-c5d9-497a-9b2e-7094b3be3c6c

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Background Location Tracking App

Overview

This Android app allows users to track their location in the background and store location data for later use.

Setup and Usage

  1. Clone the Repository:
    • Clone this repository to your local machine using git clone https://github.com/tridevdeka/Run-Track.git.
  2. Open in Android Studio:
    • Open the project in Android Studio.
  3. Build and Run:
    • Build and run the project on an Android device or emulator.

Libraries Used

  • AndroidX Libraries:

    • Purpose: AndroidX libraries provide backward compatibility and additional features.
    • Integration: Added AndroidX dependencies in the build.gradle file.
  • Jetpack Navigation:

    • Purpose: Jetpack Navigation simplifies navigation between different screens in the app.
    • Integration: Integrated Jetpack Navigation by adding the Navigation component in the build.gradle file and setting up navigation graphs.
  • Google Play Services Location API:

    • Purpose: Used for accessing the device's location services for background location tracking.
    • Integration: Added dependency in the build.gradle file and implemented necessary permissions and code to request and receive location updates.
  • Google Maps API / Android MapView:

    • Purpose: Used to visualize the user's location on a map.
    • Integration: Integrated either the Google Maps API or Android's MapView by adding the necessary dependencies in the build.gradle file and implementing the map view in the layout XML files.
  • SQLite Database:

    • Purpose: Used for storing location data locally.
    • Integration: Utilized SQLiteOpenHelper or Room Persistence Library to create and manage the local database. Implemented necessary data models and DAOs for interacting with the database.
  • MVVM Architecture:

    • Purpose: MVVM (Model-View-ViewModel) architecture separates the UI logic from the business logic, making the app more modular and easier to maintain.
    • Integration: Implemented MVVM architecture by structuring the app into models, views, and view models. Used data binding to connect views with view models.
  • Hilt Dependency Injection:

    • Purpose: Hilt simplifies dependency injection in Android apps, making it easier to manage dependencies and improve code organization.
    • Integration: Integrated Hilt by adding the necessary dependencies in the build.gradle file and setting up Hilt modules and components for dependency injection.
  • Firebase Firestore:

    • Purpose: Utilizes Firebase Firestore for cloud-based storage of location data, enabling synchronization across devices.
  • Coroutines:

    • Purpose: Uses Kotlin Coroutines for asynchronous and non-blocking programming, enhancing app responsiveness and performance.
  • Glide:

    • Purpose: Integrates Glide for efficient loading and caching of images, particularly useful for displaying map markers.
  • Demo Videohttps://github.com/tridevdeka/Run-Track/assets/49573131/eac0198f-c5d9-497a-9b2e-7094b3be3c6c

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Background Location Tracking App

Overview

This Android app allows users to track their location in the background and store location data for later use.

Setup and Usage

  1. Clone the Repository:
    • Clone this repository to your local machine using git clone https://github.com/tridevdeka/Run-Track.git.
  2. Open in Android Studio:
    • Open the project in Android Studio.
  3. Build and Run:
    • Build and run the project on an Android device or emulator.

Libraries Used

  • AndroidX Libraries:

    • Purpose: AndroidX libraries provide backward compatibility and additional features.
    • Integration: Added AndroidX dependencies in the build.gradle file.
  • Jetpack Navigation:

    • Purpose: Jetpack Navigation simplifies navigation between different screens in the app.
    • Integration: Integrated Jetpack Navigation by adding the Navigation component in the build.gradle file and setting up navigation graphs.
  • Google Play Services Location API:

    • Purpose: Used for accessing the device's location services for background location tracking.
    • Integration: Added dependency in the build.gradle file and implemented necessary permissions and code to request and receive location updates.
  • Google Maps API / Android MapView:

    • Purpose: Used to visualize the user's location on a map.
    • Integration: Integrated either the Google Maps API or Android's MapView by adding the necessary dependencies in the build.gradle file and implementing the map view in the layout XML files.
  • SQLite Database:

    • Purpose: Used for storing location data locally.
    • Integration: Utilized SQLiteOpenHelper or Room Persistence Library to create and manage the local database. Implemented necessary data models and DAOs for interacting with the database.
  • MVVM Architecture:

    • Purpose: MVVM (Model-View-ViewModel) architecture separates the UI logic from the business logic, making the app more modular and easier to maintain.
    • Integration: Implemented MVVM architecture by structuring the app into models, views, and view models. Used data binding to connect views with view models.
  • Hilt Dependency Injection:

    • Purpose: Hilt simplifies dependency injection in Android apps, making it easier to manage dependencies and improve code organization.
    • Integration: Integrated Hilt by adding the necessary dependencies in the build.gradle file and setting up Hilt modules and components for dependency injection.
  • Firebase Firestore:

    • Purpose: Utilizes Firebase Firestore for cloud-based storage of location data, enabling synchronization across devices.
  • Coroutines:

    • Purpose: Uses Kotlin Coroutines for asynchronous and non-blocking programming, enhancing app responsiveness and performance.
  • Glide:

    • Purpose: Integrates Glide for efficient loading and caching of images, particularly useful for displaying map markers.
  • Demo Videohttps://github.com/tridevdeka/Run-Track/assets/49573131/eac0198f-c5d9-497a-9b2e-7094b3be3c6c

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages