Compare commits
	
		
			No commits in common. "dev" and "dotnet3-migration/dotnet3-pre-merge" have entirely different histories.
		
	
	
		
			dev
			...
			dotnet3-mi
		
	
		
							
								
								
									
										132
									
								
								.editorconfig
									
									
									
									
									
								
							
							
						
						@ -1,132 +0,0 @@
 | 
			
		||||
###############################
 | 
			
		||||
# Core EditorConfig Options   #
 | 
			
		||||
###############################
 | 
			
		||||
root = true
 | 
			
		||||
# All files
 | 
			
		||||
[*]
 | 
			
		||||
indent_style = space
 | 
			
		||||
 | 
			
		||||
# XML project files
 | 
			
		||||
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
 | 
			
		||||
indent_size = 2
 | 
			
		||||
 | 
			
		||||
# XML config files
 | 
			
		||||
[*.{props,targets,ruleset,config,nuspec,resx,vsixmanifest,vsct}]
 | 
			
		||||
indent_size = 2
 | 
			
		||||
 | 
			
		||||
# Code files
 | 
			
		||||
[*.{cs,csx,vb,vbx}]
 | 
			
		||||
indent_size = 4
 | 
			
		||||
insert_final_newline = true
 | 
			
		||||
charset = utf-8-bom
 | 
			
		||||
###############################
 | 
			
		||||
# .NET Coding Conventions     #
 | 
			
		||||
###############################
 | 
			
		||||
[*.{cs,vb}]
 | 
			
		||||
# Organize usings
 | 
			
		||||
dotnet_sort_system_directives_first = true
 | 
			
		||||
# this. preferences
 | 
			
		||||
dotnet_style_qualification_for_field = false:silent
 | 
			
		||||
dotnet_style_qualification_for_property = false:silent
 | 
			
		||||
dotnet_style_qualification_for_method = false:silent
 | 
			
		||||
dotnet_style_qualification_for_event = false:silent
 | 
			
		||||
# Language keywords vs BCL types preferences
 | 
			
		||||
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
 | 
			
		||||
dotnet_style_predefined_type_for_member_access = true:silent
 | 
			
		||||
# Parentheses preferences
 | 
			
		||||
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
 | 
			
		||||
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent
 | 
			
		||||
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
 | 
			
		||||
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
 | 
			
		||||
# Modifier preferences
 | 
			
		||||
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent
 | 
			
		||||
dotnet_style_readonly_field = true:suggestion
 | 
			
		||||
# Expression-level preferences
 | 
			
		||||
dotnet_style_object_initializer = true:suggestion
 | 
			
		||||
dotnet_style_collection_initializer = true:suggestion
 | 
			
		||||
dotnet_style_explicit_tuple_names = true:suggestion
 | 
			
		||||
dotnet_style_null_propagation = true:suggestion
 | 
			
		||||
dotnet_style_coalesce_expression = true:suggestion
 | 
			
		||||
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:silent
 | 
			
		||||
dotnet_style_prefer_inferred_tuple_names = true:suggestion
 | 
			
		||||
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
 | 
			
		||||
dotnet_style_prefer_auto_properties = true:silent
 | 
			
		||||
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
 | 
			
		||||
dotnet_style_prefer_conditional_expression_over_return = true:silent
 | 
			
		||||
###############################
 | 
			
		||||
# Naming Conventions          #
 | 
			
		||||
###############################
 | 
			
		||||
# Style Definitions
 | 
			
		||||
dotnet_naming_style.pascal_case_style.capitalization             = pascal_case
 | 
			
		||||
# Use PascalCase for constant fields
 | 
			
		||||
dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
 | 
			
		||||
dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols  = constant_fields
 | 
			
		||||
dotnet_naming_rule.constant_fields_should_be_pascal_case.style    = pascal_case_style
 | 
			
		||||
dotnet_naming_symbols.constant_fields.applicable_kinds            = field
 | 
			
		||||
dotnet_naming_symbols.constant_fields.applicable_accessibilities  = *
 | 
			
		||||
dotnet_naming_symbols.constant_fields.required_modifiers          = const
 | 
			
		||||
###############################
 | 
			
		||||
# C# Coding Conventions       #
 | 
			
		||||
###############################
 | 
			
		||||
[*.cs]
 | 
			
		||||
# var preferences
 | 
			
		||||
csharp_style_var_for_built_in_types = true:silent
 | 
			
		||||
csharp_style_var_when_type_is_apparent = true:silent
 | 
			
		||||
csharp_style_var_elsewhere = true:silent
 | 
			
		||||
# Expression-bodied members
 | 
			
		||||
csharp_style_expression_bodied_methods = false:silent
 | 
			
		||||
csharp_style_expression_bodied_constructors = false:silent
 | 
			
		||||
csharp_style_expression_bodied_operators = false:silent
 | 
			
		||||
csharp_style_expression_bodied_properties = true:silent
 | 
			
		||||
csharp_style_expression_bodied_indexers = true:silent
 | 
			
		||||
csharp_style_expression_bodied_accessors = true:silent
 | 
			
		||||
# Pattern matching preferences
 | 
			
		||||
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
 | 
			
		||||
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
 | 
			
		||||
# Null-checking preferences
 | 
			
		||||
csharp_style_throw_expression = true:suggestion
 | 
			
		||||
csharp_style_conditional_delegate_call = true:suggestion
 | 
			
		||||
# Modifier preferences
 | 
			
		||||
csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
 | 
			
		||||
# Expression-level preferences
 | 
			
		||||
csharp_prefer_braces = true:silent
 | 
			
		||||
csharp_style_deconstructed_variable_declaration = true:suggestion
 | 
			
		||||
csharp_prefer_simple_default_expression = true:suggestion
 | 
			
		||||
csharp_style_prefer_local_over_anonymous_function = true:suggestion
 | 
			
		||||
csharp_style_inlined_variable_declaration = true:suggestion
 | 
			
		||||
###############################
 | 
			
		||||
# C# Formatting Rules         #
 | 
			
		||||
###############################
 | 
			
		||||
# New line preferences
 | 
			
		||||
csharp_new_line_before_open_brace = all
 | 
			
		||||
csharp_new_line_before_else = true
 | 
			
		||||
csharp_new_line_before_catch = true
 | 
			
		||||
csharp_new_line_before_finally = true
 | 
			
		||||
csharp_new_line_before_members_in_object_initializers = true
 | 
			
		||||
csharp_new_line_before_members_in_anonymous_types = true
 | 
			
		||||
csharp_new_line_between_query_expression_clauses = true
 | 
			
		||||
# Indentation preferences
 | 
			
		||||
csharp_indent_case_contents = true
 | 
			
		||||
csharp_indent_switch_labels = true
 | 
			
		||||
csharp_indent_labels = flush_left
 | 
			
		||||
# Space preferences
 | 
			
		||||
csharp_space_after_cast = false
 | 
			
		||||
csharp_space_after_keywords_in_control_flow_statements = true
 | 
			
		||||
csharp_space_between_method_call_parameter_list_parentheses = false
 | 
			
		||||
csharp_space_between_method_declaration_parameter_list_parentheses = false
 | 
			
		||||
csharp_space_between_parentheses = false
 | 
			
		||||
csharp_space_before_colon_in_inheritance_clause = true
 | 
			
		||||
csharp_space_after_colon_in_inheritance_clause = true
 | 
			
		||||
csharp_space_around_binary_operators = before_and_after
 | 
			
		||||
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
 | 
			
		||||
csharp_space_between_method_call_name_and_opening_parenthesis = false
 | 
			
		||||
csharp_space_between_method_call_empty_parameter_list_parentheses = false
 | 
			
		||||
# Wrapping preferences
 | 
			
		||||
csharp_preserve_single_line_statements = true
 | 
			
		||||
csharp_preserve_single_line_blocks = true
 | 
			
		||||
###############################
 | 
			
		||||
# VB Coding Conventions       #
 | 
			
		||||
###############################
 | 
			
		||||
[*.vb]
 | 
			
		||||
# Modifier preferences
 | 
			
		||||
visual_basic_preferred_modifier_order = Partial,Default,Private,Protected,Public,Friend,NotOverridable,Overridable,MustOverride,Overloads,Overrides,MustInherit,NotInheritable,Static,Shared,Shadows,ReadOnly,WriteOnly,Dim,Const,WithEvents,Widening,Narrowing,Custom,Async:suggestion
 | 
			
		||||
							
								
								
									
										35
									
								
								.github/workflows/basket-api-deploy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,35 +0,0 @@
 | 
			
		||||
name: Deploy basket-api
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  repository_dispatch:
 | 
			
		||||
    types:
 | 
			
		||||
    - deploy
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["basket-api"]
 | 
			
		||||
    branches: [dev]
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CHART: basket-api
 | 
			
		||||
  NAMESPACE: eshop
 | 
			
		||||
  CHART_ROOT: deploy/k8s/helm
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  deploy-to-k8s:
 | 
			
		||||
    #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
 | 
			
		||||
    if: false
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - uses: ./.github/workflows/composite/deploy-helm
 | 
			
		||||
        with:
 | 
			
		||||
          azure_credentials: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
          cluster_name: ${{ secrets.CLUSTER_NAME }}
 | 
			
		||||
          resource_group: ${{ secrets.RESOURCE_GROUP }}
 | 
			
		||||
          registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
          chart: ${{ env.CHART }}
 | 
			
		||||
          chart_root: ${{ env.CHART_ROOT }}
 | 
			
		||||
          namespace: ${{ env.NAMESPACE }}
 | 
			
		||||
							
								
								
									
										52
									
								
								.github/workflows/basket-api.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,52 +0,0 @@
 | 
			
		||||
name: basket-api
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Basket/**
 | 
			
		||||
    - .github/workflows/basket-api.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Basket/**
 | 
			
		||||
    - .github/workflows/basket-api.yml
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: basket-api
 | 
			
		||||
  IMAGE: basket.api
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
							
								
								
									
										35
									
								
								.github/workflows/catalog-api-deploy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,35 +0,0 @@
 | 
			
		||||
name: Deploy catalog-api
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  repository_dispatch:
 | 
			
		||||
    types:
 | 
			
		||||
    - deploy
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["catalog-api"]
 | 
			
		||||
    branches: [dev]
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CHART: catalog-api
 | 
			
		||||
  NAMESPACE: eshop
 | 
			
		||||
  CHART_ROOT: deploy/k8s/helm
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  deploy-to-k8s:
 | 
			
		||||
    #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
 | 
			
		||||
    if: false
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - uses: ./.github/workflows/composite/deploy-helm
 | 
			
		||||
        with:
 | 
			
		||||
          azure_credentials: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
          cluster_name: ${{ secrets.CLUSTER_NAME }}
 | 
			
		||||
          resource_group: ${{ secrets.RESOURCE_GROUP }}
 | 
			
		||||
          registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
          chart: ${{ env.CHART }}
 | 
			
		||||
          chart_root: ${{ env.CHART_ROOT }}
 | 
			
		||||
          namespace: ${{ env.NAMESPACE }}
 | 
			
		||||
							
								
								
									
										58
									
								
								.github/workflows/catalog-api.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,58 +0,0 @@
 | 
			
		||||
name: catalog-api
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Catalog/**
 | 
			
		||||
    - .github/workflows/catalog-api.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
    
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Catalog/**
 | 
			
		||||
    - .github/workflows/catalog-api.yml
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: catalog-api
 | 
			
		||||
  IMAGE: catalog.api
 | 
			
		||||
  DOTNET_VERSION: 7.0.x
 | 
			
		||||
  PROJECT_PATH: Services/Catalog/Catalog.API
 | 
			
		||||
  TESTS_PATH: Services/Catalog/Catalog.UnitTests
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-test
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        dotnet_version: ${{ env.DOTNET_VERSION }}
 | 
			
		||||
        project_path: ${{ env.PROJECT_PATH }}
 | 
			
		||||
        tests_path: ${{ env.TESTS_PATH }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
@ -1,71 +0,0 @@
 | 
			
		||||
name: "Build and push image"
 | 
			
		||||
description: "Builds and pushes an image to a registry"
 | 
			
		||||
 | 
			
		||||
inputs:
 | 
			
		||||
  service:
 | 
			
		||||
    description: "Service to build"
 | 
			
		||||
    required: true
 | 
			
		||||
  registry_host:
 | 
			
		||||
    description: "Image registry host e.g. myacr.azureacr.io"
 | 
			
		||||
    required: true
 | 
			
		||||
  registry_endpoint:
 | 
			
		||||
    description: "Image registry repo e.g. myacr.azureacr.io/eshop"
 | 
			
		||||
    required: true
 | 
			
		||||
  image_name:
 | 
			
		||||
    description: "Name of image"
 | 
			
		||||
    required: true
 | 
			
		||||
  registry_username:
 | 
			
		||||
    description: "Registry username"
 | 
			
		||||
    required: true
 | 
			
		||||
  registry_password:
 | 
			
		||||
    description: "Registry password"
 | 
			
		||||
    required: true
 | 
			
		||||
  
 | 
			
		||||
runs:
 | 
			
		||||
  using: "composite"
 | 
			
		||||
  steps:
 | 
			
		||||
  - name: Enable experimental features for the Docker daemon and CLI
 | 
			
		||||
    shell: bash
 | 
			
		||||
    run: |
 | 
			
		||||
        echo $'{\n  "experimental": true\n}' | sudo tee /etc/docker/daemon.json
 | 
			
		||||
        mkdir -p ~/.docker
 | 
			
		||||
        echo $'{\n  "experimental": "enabled"\n}' | sudo tee ~/.docker/config.json
 | 
			
		||||
        sudo service docker restart
 | 
			
		||||
        docker version -f '{{.Client.Experimental}}'
 | 
			
		||||
        docker version -f '{{.Server.Experimental}}'
 | 
			
		||||
 | 
			
		||||
  - name: Login to Container Registry
 | 
			
		||||
    uses: docker/login-action@v1
 | 
			
		||||
    with:
 | 
			
		||||
      registry: ${{ inputs.registry_host }}
 | 
			
		||||
      username: ${{ inputs.registry_username }}
 | 
			
		||||
      password: ${{ inputs.registry_password }}
 | 
			
		||||
 | 
			
		||||
  - name: Set branch name as env variable
 | 
			
		||||
    run: |
 | 
			
		||||
      currentbranch=$(echo ${GITHUB_REF##*/})
 | 
			
		||||
      echo "running on $currentbranch"
 | 
			
		||||
      echo "BRANCH=$currentbranch" >> $GITHUB_ENV
 | 
			
		||||
    shell: bash
 | 
			
		||||
 | 
			
		||||
  - name: Compose build ${{ inputs.service }}
 | 
			
		||||
    shell: bash
 | 
			
		||||
    run: sudo -E docker-compose build ${{ inputs.service }}
 | 
			
		||||
    working-directory: ./src
 | 
			
		||||
    env:
 | 
			
		||||
      TAG: ${{ env.BRANCH }}
 | 
			
		||||
      REGISTRY: ${{ inputs.registry_endpoint }}
 | 
			
		||||
 | 
			
		||||
  - name: Compose push ${{ inputs.service }}
 | 
			
		||||
    shell: bash
 | 
			
		||||
    run: sudo -E docker-compose push ${{ inputs.service }}
 | 
			
		||||
    working-directory: ./src
 | 
			
		||||
    env:
 | 
			
		||||
      TAG: ${{ env.BRANCH }}
 | 
			
		||||
      REGISTRY: ${{ inputs.registry_endpoint }}
 | 
			
		||||
 | 
			
		||||
  - name: Create multiarch manifest
 | 
			
		||||
    shell: bash
 | 
			
		||||
    run: |
 | 
			
		||||
      docker --config ~/.docker manifest create ${{ inputs.registry_endpoint  }}/${{ inputs.image_name }}:${{ env.BRANCH  }} ${{ inputs.registry_endpoint  }}/${{ inputs.image_name  }}:linux-${{ env.BRANCH  }}
 | 
			
		||||
      docker --config ~/.docker manifest push ${{ inputs.registry_endpoint  }}/${{ inputs.image_name }}:${{ env.BRANCH  }}
 | 
			
		||||
@ -1,47 +0,0 @@
 | 
			
		||||
name: "Build for PRe"
 | 
			
		||||
description: "Builds a docker image without pushing"
 | 
			
		||||
 | 
			
		||||
inputs:
 | 
			
		||||
  service:
 | 
			
		||||
    description: "Service to build"
 | 
			
		||||
    required: true
 | 
			
		||||
  registry_endpoint:
 | 
			
		||||
    description: "Image registry repo e.g. myacr.azureacr.io/eshop"
 | 
			
		||||
    required: true
 | 
			
		||||
  dotnet_version:
 | 
			
		||||
    description: "Version of dotnet to use for testing"
 | 
			
		||||
    required: true
 | 
			
		||||
  project_path:
 | 
			
		||||
    description: "Path to project to test e.g. Services/Catalog/Catalog.API"
 | 
			
		||||
    required: true
 | 
			
		||||
  tests_path:
 | 
			
		||||
    description: "Path to test project e.g. Services/Catalog/Catalog.UnitTests"
 | 
			
		||||
    required: true
 | 
			
		||||
 | 
			
		||||
runs:
 | 
			
		||||
  using: "composite"
 | 
			
		||||
  steps:
 | 
			
		||||
  - name: Setup dotnet
 | 
			
		||||
    uses: actions/setup-dotnet@v1
 | 
			
		||||
    with:
 | 
			
		||||
      dotnet-version: ${{ inputs.dotnet_version }}
 | 
			
		||||
 | 
			
		||||
  - name: Build and run unit tests
 | 
			
		||||
    shell: bash
 | 
			
		||||
    run: |
 | 
			
		||||
      cd src
 | 
			
		||||
      dotnet restore "eShopOnContainers-ServicesAndWebApps.sln"
 | 
			
		||||
      cd ${{ inputs.project_path }}
 | 
			
		||||
      dotnet build --no-restore
 | 
			
		||||
      cd -
 | 
			
		||||
      cd ${{ inputs.tests_path }}
 | 
			
		||||
      dotnet build --no-restore
 | 
			
		||||
      dotnet test --no-build -v=normal
 | 
			
		||||
 | 
			
		||||
  - name: Compose build ${{ inputs.service }}
 | 
			
		||||
    shell: bash
 | 
			
		||||
    run: sudo -E docker-compose build ${{ inputs.service }}
 | 
			
		||||
    working-directory: ./src
 | 
			
		||||
    env:
 | 
			
		||||
      TAG: ${{ env.BRANCH }}
 | 
			
		||||
      REGISTRY: ${{ inputs.registry_endpoint }}
 | 
			
		||||
							
								
								
									
										21
									
								
								.github/workflows/composite/build/action.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,21 +0,0 @@
 | 
			
		||||
name: "Build for PRe"
 | 
			
		||||
description: "Builds a docker image without pushing"
 | 
			
		||||
 | 
			
		||||
inputs:
 | 
			
		||||
  service:
 | 
			
		||||
    description: "Service to build"
 | 
			
		||||
    required: true
 | 
			
		||||
  registry_endpoint:
 | 
			
		||||
    description: "Image registry repo e.g. myacr.azureacr.io/eshop"
 | 
			
		||||
    required: true
 | 
			
		||||
 | 
			
		||||
runs:
 | 
			
		||||
  using: "composite"
 | 
			
		||||
  steps:
 | 
			
		||||
  - name: Compose build ${{ inputs.service }}
 | 
			
		||||
    shell: bash
 | 
			
		||||
    run: sudo -E docker-compose build ${{ inputs.service }}
 | 
			
		||||
    working-directory: ./src
 | 
			
		||||
    env:
 | 
			
		||||
      TAG: ${{ env.BRANCH }}
 | 
			
		||||
      REGISTRY: ${{ inputs.registry_endpoint }}
 | 
			
		||||
@ -1,54 +0,0 @@
 | 
			
		||||
name: "Deploy Helm to AKS"
 | 
			
		||||
description: "Deploys a helm chart to AKS"
 | 
			
		||||
 | 
			
		||||
inputs:
 | 
			
		||||
  azure_credentials:
 | 
			
		||||
    description: "Credentials to connect to AKS"
 | 
			
		||||
    required: true
 | 
			
		||||
  cluster_name:
 | 
			
		||||
    description: "Name of AKS cluster"
 | 
			
		||||
    required: true
 | 
			
		||||
  resource_group:
 | 
			
		||||
    description: "Resource group of AKS cluster"
 | 
			
		||||
    required: true
 | 
			
		||||
  registry_host:
 | 
			
		||||
    description: "Image registry host e.g. myacr.azureacr.io"
 | 
			
		||||
    required: true
 | 
			
		||||
  chart:
 | 
			
		||||
    description: "Chart name"
 | 
			
		||||
    required: true
 | 
			
		||||
  chart_root:
 | 
			
		||||
    description: "Root folder of chart"
 | 
			
		||||
    required: true
 | 
			
		||||
  namespace:
 | 
			
		||||
    description: "Namespace to deploy to"
 | 
			
		||||
    required: true
 | 
			
		||||
 | 
			
		||||
runs:
 | 
			
		||||
  using: "composite"
 | 
			
		||||
  steps:
 | 
			
		||||
  - uses: azure/login@v1
 | 
			
		||||
    with:
 | 
			
		||||
      creds: ${{ inputs.azure_credentials }}
 | 
			
		||||
 | 
			
		||||
  - uses: azure/aks-set-context@v1
 | 
			
		||||
    name: Set AKS context
 | 
			
		||||
    with:
 | 
			
		||||
      creds: '${{ inputs.azure_credentials }}'
 | 
			
		||||
      cluster-name: ${{ inputs.cluster_name }}
 | 
			
		||||
      resource-group: ${{ inputs.resource_group }}
 | 
			
		||||
  
 | 
			
		||||
  - name: Set branch name as env variable
 | 
			
		||||
    shell: bash
 | 
			
		||||
    run: |
 | 
			
		||||
      currentbranch=$(echo ${GITHUB_REF##*/})
 | 
			
		||||
      echo "running on $currentbranch"
 | 
			
		||||
      echo "BRANCH=$currentbranch" >> $GITHUB_ENV
 | 
			
		||||
  
 | 
			
		||||
  - name: Deploy Chart
 | 
			
		||||
    shell: bash
 | 
			
		||||
    run: |
 | 
			
		||||
      ./deploy-chart.sh -c ${{ inputs.chart }} --dns aks --aks-name ${{ inputs.clusteR_name }} --aks-rg ${{ inputs.resource_group }} -r ${{ inputs.registry_host }} -t $TAG --namespace ${{ inputs.namespace }} --acr-connected
 | 
			
		||||
    env:
 | 
			
		||||
      TAG: ${{ env.BRANCH }}
 | 
			
		||||
    working-directory: ${{ inputs.chart_root }}
 | 
			
		||||
							
								
								
									
										35
									
								
								.github/workflows/identity-api-deploy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,35 +0,0 @@
 | 
			
		||||
name: Deploy identity-api
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  repository_dispatch:
 | 
			
		||||
    types:
 | 
			
		||||
    - deploy
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["identity-api"]
 | 
			
		||||
    branches: [dev]
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CHART: identity-api
 | 
			
		||||
  NAMESPACE: eshop
 | 
			
		||||
  CHART_ROOT: deploy/k8s/helm
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  deploy-to-k8s:
 | 
			
		||||
    #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
 | 
			
		||||
    if: false
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - uses: ./.github/workflows/composite/deploy-helm
 | 
			
		||||
        with:
 | 
			
		||||
          azure_credentials: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
          cluster_name: ${{ secrets.CLUSTER_NAME }}
 | 
			
		||||
          resource_group: ${{ secrets.RESOURCE_GROUP }}
 | 
			
		||||
          registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
          chart: ${{ env.CHART }}
 | 
			
		||||
          chart_root: ${{ env.CHART_ROOT }}
 | 
			
		||||
          namespace: ${{ env.NAMESPACE }}
 | 
			
		||||
							
								
								
									
										52
									
								
								.github/workflows/identity-api.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,52 +0,0 @@
 | 
			
		||||
name: identity-api
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Identity/**
 | 
			
		||||
    - .github/workflows/identity-api.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Identity/**
 | 
			
		||||
    - .github/workflows/identity-api.yml
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: identity-api
 | 
			
		||||
  IMAGE: identity.api
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
							
								
								
									
										35
									
								
								.github/workflows/mobileshoppingagg-deploy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,35 +0,0 @@
 | 
			
		||||
name: Deploy mobileshoppingagg
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  repository_dispatch:
 | 
			
		||||
    types:
 | 
			
		||||
    - deploy
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["mobileshoppingagg"]
 | 
			
		||||
    branches: [dev]
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CHART: mobileshoppingagg
 | 
			
		||||
  NAMESPACE: eshop
 | 
			
		||||
  CHART_ROOT: deploy/k8s/helm
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  deploy-to-k8s:
 | 
			
		||||
    #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
 | 
			
		||||
    if: false
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - uses: ./.github/workflows/composite/deploy-helm
 | 
			
		||||
        with:
 | 
			
		||||
          azure_credentials: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
          cluster_name: ${{ secrets.CLUSTER_NAME }}
 | 
			
		||||
          resource_group: ${{ secrets.RESOURCE_GROUP }}
 | 
			
		||||
          registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
          chart: ${{ env.CHART }}
 | 
			
		||||
          chart_root: ${{ env.CHART_ROOT }}
 | 
			
		||||
          namespace: ${{ env.NAMESPACE }}
 | 
			
		||||
							
								
								
									
										50
									
								
								.github/workflows/mobileshoppingagg.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,50 +0,0 @@
 | 
			
		||||
name: mobileshoppingagg
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/ApiGateways/Mobile.Bff.Shopping/aggregator/**
 | 
			
		||||
    - .github/workflows/mobileshoppingagg.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/ApiGateways/Mobile.Bff.Shopping/aggregator/**
 | 
			
		||||
    - .github/workflows/mobileshoppingagg.yml
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: mobileshoppingagg
 | 
			
		||||
  IMAGE: mobileshoppingagg
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
							
								
								
									
										35
									
								
								.github/workflows/ordering-api-deploy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,35 +0,0 @@
 | 
			
		||||
name: Deploy ordering-api
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  repository_dispatch:
 | 
			
		||||
    types:
 | 
			
		||||
    - deploy
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["ordering-api"]
 | 
			
		||||
    branches: [dev]
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CHART: ordering-api
 | 
			
		||||
  NAMESPACE: eshop
 | 
			
		||||
  CHART_ROOT: deploy/k8s/helm
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  deploy-to-k8s:
 | 
			
		||||
    #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
 | 
			
		||||
    if: false
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - uses: ./.github/workflows/composite/deploy-helm
 | 
			
		||||
        with:
 | 
			
		||||
          azure_credentials: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
          cluster_name: ${{ secrets.CLUSTER_NAME }}
 | 
			
		||||
          resource_group: ${{ secrets.RESOURCE_GROUP }}
 | 
			
		||||
          registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
          chart: ${{ env.CHART }}
 | 
			
		||||
          chart_root: ${{ env.CHART_ROOT }}
 | 
			
		||||
          namespace: ${{ env.NAMESPACE }}
 | 
			
		||||
							
								
								
									
										58
									
								
								.github/workflows/ordering-api.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,58 +0,0 @@
 | 
			
		||||
name: ordering-api
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Ordering/**
 | 
			
		||||
    - .github/workflows/ordering-api.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Ordering/**
 | 
			
		||||
    - .github/workflows/ordering-api.yml
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: ordering-api
 | 
			
		||||
  IMAGE: ordering.api
 | 
			
		||||
  DOTNET_VERSION: 7.0.x
 | 
			
		||||
  PROJECT_PATH: Services/Ordering/Ordering.API
 | 
			
		||||
  TESTS_PATH: Services/Ordering/Ordering.UnitTests
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-test
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        dotnet_version: ${{ env.DOTNET_VERSION }}
 | 
			
		||||
        project_path: ${{ env.PROJECT_PATH }}
 | 
			
		||||
        tests_path: ${{ env.TESTS_PATH }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
@ -1,35 +0,0 @@
 | 
			
		||||
name: Deploy ordering-backgroundtasks
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  repository_dispatch:
 | 
			
		||||
    types:
 | 
			
		||||
    - deploy
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["ordering-backgroundtasks"]
 | 
			
		||||
    branches: [dev]
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CHART: ordering-backgroundtasks
 | 
			
		||||
  NAMESPACE: eshop
 | 
			
		||||
  CHART_ROOT: deploy/k8s/helm
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  deploy-to-k8s:
 | 
			
		||||
    #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
 | 
			
		||||
    if: false
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - uses: ./.github/workflows/composite/deploy-helm
 | 
			
		||||
        with:
 | 
			
		||||
          azure_credentials: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
          cluster_name: ${{ secrets.CLUSTER_NAME }}
 | 
			
		||||
          resource_group: ${{ secrets.RESOURCE_GROUP }}
 | 
			
		||||
          registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
          chart: ${{ env.CHART }}
 | 
			
		||||
          chart_root: ${{ env.CHART_ROOT }}
 | 
			
		||||
          namespace: ${{ env.NAMESPACE }}
 | 
			
		||||
							
								
								
									
										52
									
								
								.github/workflows/ordering-backgroundtasks.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,52 +0,0 @@
 | 
			
		||||
name: ordering-backgroundtasks
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Ordering/**
 | 
			
		||||
    - .github/workflows/ordering-backgroundtasks.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Ordering/**
 | 
			
		||||
    - .github/workflows/ordering-backgroundtasks.yml
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: ordering-backgroundtasks
 | 
			
		||||
  IMAGE: ordering.backgroundtasks
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
							
								
								
									
										35
									
								
								.github/workflows/ordering-signalrhub-deploy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,35 +0,0 @@
 | 
			
		||||
name: Deploy ordering-signalrhub
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  repository_dispatch:
 | 
			
		||||
    types:
 | 
			
		||||
    - deploy
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["ordering-signalrhub"]
 | 
			
		||||
    branches: [dev]
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CHART: ordering-signalrhub
 | 
			
		||||
  NAMESPACE: eshop
 | 
			
		||||
  CHART_ROOT: deploy/k8s/helm
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  deploy-to-k8s:
 | 
			
		||||
    #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
 | 
			
		||||
    if: false
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - uses: ./.github/workflows/composite/deploy-helm
 | 
			
		||||
        with:
 | 
			
		||||
          azure_credentials: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
          cluster_name: ${{ secrets.CLUSTER_NAME }}
 | 
			
		||||
          resource_group: ${{ secrets.RESOURCE_GROUP }}
 | 
			
		||||
          registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
          chart: ${{ env.CHART }}
 | 
			
		||||
          chart_root: ${{ env.CHART_ROOT }}
 | 
			
		||||
          namespace: ${{ env.NAMESPACE }}
 | 
			
		||||
							
								
								
									
										52
									
								
								.github/workflows/ordering-signalrhub.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,52 +0,0 @@
 | 
			
		||||
name: ordering-signalrhub
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Ordering/**
 | 
			
		||||
    - .github/workflows/ordering-signalrhub.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Ordering/**
 | 
			
		||||
    - .github/workflows/ordering-signalrhub.yml
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: ordering-signalrhub
 | 
			
		||||
  IMAGE: ordering.signalrhub
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
							
								
								
									
										35
									
								
								.github/workflows/payment-api-deploy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,35 +0,0 @@
 | 
			
		||||
name: Deploy payment-api
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  repository_dispatch:
 | 
			
		||||
    types:
 | 
			
		||||
    - deploy
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["payment-api"]
 | 
			
		||||
    branches: [dev]
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CHART: payment-api
 | 
			
		||||
  NAMESPACE: eshop
 | 
			
		||||
  CHART_ROOT: deploy/k8s/helm
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  deploy-to-k8s:
 | 
			
		||||
    #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
 | 
			
		||||
    if: false
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - uses: ./.github/workflows/composite/deploy-helm
 | 
			
		||||
        with:
 | 
			
		||||
          azure_credentials: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
          cluster_name: ${{ secrets.CLUSTER_NAME }}
 | 
			
		||||
          resource_group: ${{ secrets.RESOURCE_GROUP }}
 | 
			
		||||
          registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
          chart: ${{ env.CHART }}
 | 
			
		||||
          chart_root: ${{ env.CHART_ROOT }}
 | 
			
		||||
          namespace: ${{ env.NAMESPACE }}
 | 
			
		||||
							
								
								
									
										52
									
								
								.github/workflows/payment-api.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,52 +0,0 @@
 | 
			
		||||
name: payment-api
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Payment/**
 | 
			
		||||
    - .github/workflows/payment-api.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Payment/**
 | 
			
		||||
    - .github/workflows/payment-api.yml
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: payment-api
 | 
			
		||||
  IMAGE: payment.api
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
							
								
								
									
										35
									
								
								.github/workflows/webhooks-api-deploy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,35 +0,0 @@
 | 
			
		||||
name: Deploy webhooks-api
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  repository_dispatch:
 | 
			
		||||
    types:
 | 
			
		||||
    - deploy
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["webhooks-api"]
 | 
			
		||||
    branches: [dev]
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CHART: webhooks-api
 | 
			
		||||
  NAMESPACE: eshop
 | 
			
		||||
  CHART_ROOT: deploy/k8s/helm
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  deploy-to-k8s:
 | 
			
		||||
    #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
 | 
			
		||||
    if: false
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - uses: ./.github/workflows/composite/deploy-helm
 | 
			
		||||
        with:
 | 
			
		||||
          azure_credentials: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
          cluster_name: ${{ secrets.CLUSTER_NAME }}
 | 
			
		||||
          resource_group: ${{ secrets.RESOURCE_GROUP }}
 | 
			
		||||
          registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
          chart: ${{ env.CHART }}
 | 
			
		||||
          chart_root: ${{ env.CHART_ROOT }}
 | 
			
		||||
          namespace: ${{ env.NAMESPACE }}
 | 
			
		||||
							
								
								
									
										52
									
								
								.github/workflows/webhooks-api.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,52 +0,0 @@
 | 
			
		||||
name: webhooks-api
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Webhooks/**
 | 
			
		||||
    - .github/workflows/webhooks-api.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
    
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Services/Webhooks/**
 | 
			
		||||
    - .github/workflows/webhooks-api.yml
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: webhooks-api
 | 
			
		||||
  IMAGE: webhooks.api
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
							
								
								
									
										52
									
								
								.github/workflows/webhooks-client.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,52 +0,0 @@
 | 
			
		||||
name: webhooks-client
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Web/WebhookClient/**
 | 
			
		||||
    - .github/workflows/webhooks-client.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Web/WebhookClient/**
 | 
			
		||||
    - .github/workflows/webhooks-client.yml
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: webhooks-client
 | 
			
		||||
  IMAGE: webhooks.client
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
							
								
								
									
										39
									
								
								.github/workflows/webmvc-deploy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,39 +0,0 @@
 | 
			
		||||
name: Deploy webmvc
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  repository_dispatch:
 | 
			
		||||
    types:
 | 
			
		||||
    - deploy
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["webmvc"]
 | 
			
		||||
    branches: [dev]
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CHART: webmvc
 | 
			
		||||
  NAMESPACE: eshop
 | 
			
		||||
  CHART_ROOT: deploy/k8s/helm
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  deploy-to-k8s:
 | 
			
		||||
    #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
 | 
			
		||||
    if: false
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - uses: azure/login@v1
 | 
			
		||||
        with:
 | 
			
		||||
          creds: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
 | 
			
		||||
      - uses: ./.github/workflows/composite/deploy-helm
 | 
			
		||||
        with:
 | 
			
		||||
          azure_credentials: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
          cluster_name: ${{ secrets.CLUSTER_NAME }}
 | 
			
		||||
          resource_group: ${{ secrets.RESOURCE_GROUP }}
 | 
			
		||||
          registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
          chart: ${{ env.CHART }}
 | 
			
		||||
          chart_root: ${{ env.CHART_ROOT }}
 | 
			
		||||
          namespace: ${{ env.NAMESPACE }}
 | 
			
		||||
							
								
								
									
										53
									
								
								.github/workflows/webmvc.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,53 +0,0 @@
 | 
			
		||||
name: webmvc
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Web/WebMVC/**
 | 
			
		||||
    - .github/workflows/webmvc.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
    paths:
 | 
			
		||||
    
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Web/WebMVC/**
 | 
			
		||||
    - .github/workflows/webmvc.yml
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: webmvc
 | 
			
		||||
  IMAGE: webmvc
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
							
								
								
									
										35
									
								
								.github/workflows/webshoppingagg-deploy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,35 +0,0 @@
 | 
			
		||||
name: Deploy webshoppingagg
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  repository_dispatch:
 | 
			
		||||
    types:
 | 
			
		||||
    - deploy
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["webshoppingagg"]
 | 
			
		||||
    branches: [dev]
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CHART: webshoppingagg
 | 
			
		||||
  NAMESPACE: eshop
 | 
			
		||||
  CHART_ROOT: deploy/k8s/helm
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  deploy-to-k8s:
 | 
			
		||||
    #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
 | 
			
		||||
    if: false
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - uses: ./.github/workflows/composite/deploy-helm
 | 
			
		||||
        with:
 | 
			
		||||
          azure_credentials: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
          cluster_name: ${{ secrets.CLUSTER_NAME }}
 | 
			
		||||
          resource_group: ${{ secrets.RESOURCE_GROUP }}
 | 
			
		||||
          registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
          chart: ${{ env.CHART }}
 | 
			
		||||
          chart_root: ${{ env.CHART_ROOT }}
 | 
			
		||||
          namespace: ${{ env.NAMESPACE }}
 | 
			
		||||
							
								
								
									
										50
									
								
								.github/workflows/webshoppingagg.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,50 +0,0 @@
 | 
			
		||||
name: webshoppingagg
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/ApiGateways/Web.Bff.Shopping/aggregator/**
 | 
			
		||||
    - .github/workflows/webshoppingagg.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/ApiGateways/Web.Bff.Shopping/aggregator/**
 | 
			
		||||
    - .github/workflows/webshoppingagg.yml
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: webshoppingagg
 | 
			
		||||
  IMAGE: webshoppingagg
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
							
								
								
									
										35
									
								
								.github/workflows/webspa-deploy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,35 +0,0 @@
 | 
			
		||||
name: Deploy webspa
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  repository_dispatch:
 | 
			
		||||
    types:
 | 
			
		||||
    - deploy
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["webspa"]
 | 
			
		||||
    branches: [dev]
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CHART: webspa
 | 
			
		||||
  NAMESPACE: eshop
 | 
			
		||||
  CHART_ROOT: deploy/k8s/helm
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  deploy-to-k8s:
 | 
			
		||||
    #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
 | 
			
		||||
    if: false
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - uses: ./.github/workflows/composite/deploy-helm
 | 
			
		||||
        with:
 | 
			
		||||
          azure_credentials: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
          cluster_name: ${{ secrets.CLUSTER_NAME }}
 | 
			
		||||
          resource_group: ${{ secrets.RESOURCE_GROUP }}
 | 
			
		||||
          registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
          chart: ${{ env.CHART }}
 | 
			
		||||
          chart_root: ${{ env.CHART_ROOT }}
 | 
			
		||||
          namespace: ${{ env.NAMESPACE }}
 | 
			
		||||
							
								
								
									
										52
									
								
								.github/workflows/webspa.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,52 +0,0 @@
 | 
			
		||||
name: webspa
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Web/WebSPA/**
 | 
			
		||||
    - .github/workflows/webspa.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
    
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Web/WebSPA/**
 | 
			
		||||
    - .github/workflows/webspa.yml
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: webspa
 | 
			
		||||
  IMAGE: webspa
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
							
								
								
									
										35
									
								
								.github/workflows/webstatus-deploy.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,35 +0,0 @@
 | 
			
		||||
name: Deploy webstatus
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  repository_dispatch:
 | 
			
		||||
    types:
 | 
			
		||||
    - deploy
 | 
			
		||||
  workflow_run:
 | 
			
		||||
    workflows: ["webstatus"]
 | 
			
		||||
    branches: [dev]
 | 
			
		||||
    types: [completed]
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  CHART: webstatus
 | 
			
		||||
  NAMESPACE: eshop
 | 
			
		||||
  CHART_ROOT: deploy/k8s/helm
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  deploy-to-k8s:
 | 
			
		||||
    #if: ${{ github.event_name == 'workflow_dispatch' || github.event_name == 'repository_dispatch' || github.event.workflow_run.conclusion == 'success' }}
 | 
			
		||||
    if: false
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v2
 | 
			
		||||
 | 
			
		||||
      - uses: ./.github/workflows/composite/deploy-helm
 | 
			
		||||
        with:
 | 
			
		||||
          azure_credentials: ${{ secrets.AZURE_CREDENTIALS }}
 | 
			
		||||
          cluster_name: ${{ secrets.CLUSTER_NAME }}
 | 
			
		||||
          resource_group: ${{ secrets.RESOURCE_GROUP }}
 | 
			
		||||
          registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
          chart: ${{ env.CHART }}
 | 
			
		||||
          chart_root: ${{ env.CHART_ROOT }}
 | 
			
		||||
          namespace: ${{ env.NAMESPACE }}
 | 
			
		||||
							
								
								
									
										53
									
								
								.github/workflows/webstatus.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,53 +0,0 @@
 | 
			
		||||
name: webstatus
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  workflow_dispatch:
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Web/WebStatus/**
 | 
			
		||||
    - .github/workflows/webstatus.yml
 | 
			
		||||
  
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
    - dev
 | 
			
		||||
 | 
			
		||||
    paths:
 | 
			
		||||
    - src/BuildingBlocks/**
 | 
			
		||||
    - src/Web/WebStatus/**
 | 
			
		||||
    - .github/workflows/webstatus.yml
 | 
			
		||||
 | 
			
		||||
env:
 | 
			
		||||
  SERVICE: webstatus
 | 
			
		||||
  IMAGE: webstatus
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
 | 
			
		||||
  BuildContainersForPR_Linux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name == 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
 | 
			
		||||
  BuildLinux:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    if: ${{ github.event_name != 'pull_request' }}
 | 
			
		||||
    steps:
 | 
			
		||||
    - name: Checkout code
 | 
			
		||||
      uses: actions/checkout@v2
 | 
			
		||||
    - uses: ./.github/workflows/composite/build-push
 | 
			
		||||
      with:
 | 
			
		||||
        service: ${{ env.SERVICE }}
 | 
			
		||||
        registry_host: ${{ secrets.REGISTRY_HOST }}
 | 
			
		||||
        registry_endpoint: ${{ secrets.REGISTRY_ENDPOINT }}
 | 
			
		||||
        image_name: ${{ env.IMAGE }}
 | 
			
		||||
        registry_username: ${{ secrets.USERNAME }}
 | 
			
		||||
        registry_password: ${{ secrets.PASSWORD }}
 | 
			
		||||
							
								
								
									
										9
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						@ -1,10 +1,6 @@
 | 
			
		||||
## Ignore Visual Studio temporary files, build results, and
 | 
			
		||||
## files generated by popular Visual Studio add-ons.
 | 
			
		||||
 | 
			
		||||
## Local history files
 | 
			
		||||
.history/
 | 
			
		||||
.vshistory/
 | 
			
		||||
 | 
			
		||||
# User-specific files
 | 
			
		||||
*.suo
 | 
			
		||||
*.user
 | 
			
		||||
@ -30,6 +26,9 @@ bld/
 | 
			
		||||
# Visual Studio 2015 cache/options directory
 | 
			
		||||
.vs/
 | 
			
		||||
 | 
			
		||||
# Dockerfile projects folder for restore-packages script
 | 
			
		||||
csproj-files/
 | 
			
		||||
 | 
			
		||||
# .js files created on build:
 | 
			
		||||
src/Web/WebMVC/wwwroot/js/site*
 | 
			
		||||
 | 
			
		||||
@ -281,5 +280,3 @@ pub/
 | 
			
		||||
src/**/app.yaml
 | 
			
		||||
src/**/inf.yaml
 | 
			
		||||
 | 
			
		||||
.angular/
 | 
			
		||||
/src/Services/Identity/Identity.API/keys/*.json
 | 
			
		||||
 | 
			
		||||
@ -2,7 +2,7 @@
 | 
			
		||||
 | 
			
		||||
This repo is a reference and learning resource and everyone is invited to contribute, however not all PRs will be accepted into the main branch (**`dev`**).
 | 
			
		||||
 | 
			
		||||
There's a general development strategy that's driven by @CESARDELATORRE/@nishanil, who chooses, or defines criteria for choosing, the issues to include in the codebase, given a bunch of constraints and other guidelines.
 | 
			
		||||
There's a general development strategy that's driven by @CESARDELATORRE, who chooses, or defines criteria for choosing, the issues to include in the codebase, given a bunch of constraints and other guidelines.
 | 
			
		||||
 | 
			
		||||
However you can always get in touch with him, if you want to implement some general-interest feature in your repo and have it referenced from the [documentation](https://docs.microsoft.com/dotnet/standard/microservices-architecture/) or the [Microservices eBook](https://aka.ms/microservicesebook/).
 | 
			
		||||
 | 
			
		||||
@ -47,14 +47,15 @@ All contributions must be submitted as a [Pull Request (PR)](https://help.github
 | 
			
		||||
The main branches are **`dev`** and **`master`**:
 | 
			
		||||
 | 
			
		||||
- **`dev`**: Contains the latest code **and it is the branch actively developed**.  
 | 
			
		||||
**All PRs must be against `dev` branch to be considered**. This branch is developed using `.NET 7`
 | 
			
		||||
**All PRs must be against `dev` branch to be considered**. This branch is developed using .NET Core 2.x
 | 
			
		||||
 | 
			
		||||
- **`main`**: Synced from time to time from **`dev`**. It contains "stable" code.This branch contains changes specific to `.NET Core 3.1` (**Keep in mind "stable" does not mean PRODUCTION-READY!**)
 | 
			
		||||
- **`master`**: Synced from time to time from **`dev`**. It contains "stable" code.  
 | 
			
		||||
(**Keep in mind "stable" does not mean PRODUCTION-READY!**)
 | 
			
		||||
 | 
			
		||||
- Any other branch is considered temporary and could be deleted at any time. Do not submit any PR to them!
 | 
			
		||||
 | 
			
		||||
## DISCLAIMER - This is not a PRODUCTION-READY TEMPLATE for microservices
 | 
			
		||||
eShopOnContainers is a reference application to **showcase architectural patterns** for developing microservices applications on .NET 5. **IT IS NOT A PRODUCTION-READY TEMPLATE** to start real-world application. In fact, the application is in a **permanent beta state**, as it’s also used to test new potentially interesting technologies as they show up.
 | 
			
		||||
eShopOnContainers is a reference application to **showcase architectural patterns** for developing microservices applications on .NET Core. **IT IS NOT A PRODUCTION-READY TEMPLATE** to start real-world application. In fact, the application is in a **permanent beta state**, as it’s also used to test new potentially interesting technologies as they show up.
 | 
			
		||||
 | 
			
		||||
Since this is a learning resource, some design decisions have favored simplicity to convey a pattern, over production-grade robustness.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										1
									
								
								Components/GeolocatorPlugin-1.0.3.info
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1 @@
 | 
			
		||||
{"Name":"Geolocator Plugin","Id":2035,"Alias":"GeolocatorPlugin","Description":"# Geolocator Plugin details\r\n\r\nSimple cross platform plugin to get GPS location including heading, speed, and more.\r\n\r\n#### Features\r\n* Async GPS Location Detection\r\n* Heading\r\n* Speed\r\n* Listen for Changes\r\n\r\n\r\nWorks from any shared code or PCL project.\r\n\r\nFind more plugins at: http://www.github.com/xamarin/plugins","Version":"1.0.3","Summary":"Simple cross platform plugin to get GPS location including heading, speed, and more.","QuickStart":"# Getting Started with Geolocator Plugin\r\n\r\n### API Usage\r\n\r\nCall **CrossGeolocator.Current** from any project or PCL to gain access to APIs.\r\n\r\n```\r\nvar locator = CrossGeolocator.Current;\r\nlocator.DesiredAccuracy = 50;\r\n\r\nvar position = await locator.GetPositionAsync (timeoutMilliseconds: 10000);\r\n\r\nConsole.WriteLine (\"Position Status: {0}\", position.Timestamp);\r\nConsole.WriteLine (\"Position Latitude: {0}\", position.Latitude);\r\nConsole.WriteLine (\"Position Longitude: {0}\", position.Longitude);\r\n```\r\n\r\n### **IMPORTANT**\r\nAndroid:\r\n\r\nYou must request ACCESS_COARSE_LOCATION \u0026 ACCESS_FINE_LOCATION permission\r\n\r\niOS:\r\n\r\nIn iOS 8 you now have to call either RequestWhenInUseAuthorization or RequestAlwaysAuthorization on the location manager. Additionally you need to add either the concisely named NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription to your Info.plist. \r\nSee:  http://motzcod.es/post/97662738237/scanning-for-ibeacons-in-ios-8\r\n\r\nWindows Phone:\r\n\r\nYou must set the ID_CAP_LOCATION permission.","Hash":"94480115a3947ef812df48cae11dbd94","TargetPlatforms":["ios","ios-unified","android"],"TrialHash":null}
 | 
			
		||||
							
								
								
									
										314
									
								
								Components/GeolocatorPlugin-1.0.3.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,314 @@
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
<!DOCTYPE html>
 | 
			
		||||
<html lang="en">
 | 
			
		||||
    <head>
 | 
			
		||||
        <meta http-equiv="X-UA-Compatible" content="IE=Edge" />
 | 
			
		||||
        <meta charset="utf-8" />
 | 
			
		||||
 | 
			
		||||
        <title></title>
 | 
			
		||||
 | 
			
		||||
        <link rel="shortcut icon" href="//xamarin.com/favicon.ico?2" />
 | 
			
		||||
        <meta name="viewport" content="width=1060" />
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
<link href="/cassette.axd/stylesheet/75304d341f2692195046382a03c9d77c7b7b1e36/resources/ui/global" type="text/css" rel="stylesheet"/>
 | 
			
		||||
<link href="/cassette.axd/stylesheet/cf21e2a5d7749f53d57d1a2aad772bcaffa48f1e/threeoh" type="text/css" rel="stylesheet"/>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
    </head>
 | 
			
		||||
    <body>
 | 
			
		||||
        
 | 
			
		||||
            <noscript>
 | 
			
		||||
                <iframe src="//www.googletagmanager.com/ns.html?id=GTM-57C4Z7"
 | 
			
		||||
                        height="0" width="0" style="display:none;visibility:hidden"></iframe>
 | 
			
		||||
            </noscript>
 | 
			
		||||
            <script>
 | 
			
		||||
                (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
 | 
			
		||||
                            new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
 | 
			
		||||
                            j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
 | 
			
		||||
                            '//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
 | 
			
		||||
                })(window,document,'script','dataLayer','GTM-57C4Z7');</script>
 | 
			
		||||
 | 
			
		||||
        <!--[if IE]><div id="ie" ><![endif]-->
 | 
			
		||||
        <!--[if IE 9]><div id="ie9" ><![endif]-->
 | 
			
		||||
        <!--[if IE 8]><div id="ie8" ><![endif]-->
 | 
			
		||||
        <!--[if IE 7]><div id="ie7" ><![endif]-->
 | 
			
		||||
        <!--[if IE 6]><div id="ie6" ><![endif]-->
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            <div id="top-container" class="covering-main-page">
 | 
			
		||||
                <div id="global-header">
 | 
			
		||||
                    <div class="global-bar">
 | 
			
		||||
                        <div class="wrapper">
 | 
			
		||||
                            <h1 class="xamarin logo">
 | 
			
		||||
                                <a href="/">Xamarin</a>
 | 
			
		||||
                            </h1>
 | 
			
		||||
                            <div class="navigation">
 | 
			
		||||
                                <a class="label">
 | 
			
		||||
                                    <span class="menu">Menu</span>
 | 
			
		||||
                                    <span class="close icon"></span>
 | 
			
		||||
                                </a>
 | 
			
		||||
                                <ul>
 | 
			
		||||
                                    <li class="dropdown ">
 | 
			
		||||
                                        <a data-toggle="dropdown" href="//xamarin.com/products">Products</a>
 | 
			
		||||
                                        <script type="text/javascript">
 | 
			
		||||
                                            var preloadProductsIcons = new Image(); preloadProductsIcons.src = "/resources/ui/images/structure/header/products-icons.svg";
 | 
			
		||||
                                        </script>
 | 
			
		||||
                                        <ul class="products-list" role="menu">
 | 
			
		||||
                                            <li>
 | 
			
		||||
                                                <ul>
 | 
			
		||||
                                                    <li class="platfrom">
 | 
			
		||||
                                                        <a href="https://xamarin.com/platform">
 | 
			
		||||
                                                            Xamarin Platform
 | 
			
		||||
                                                            <small>C# on iOS, Android, Mac & Windows</small>
 | 
			
		||||
                                                        </a>
 | 
			
		||||
                                                    </li>
 | 
			
		||||
                                                    <li class="test-cloud">
 | 
			
		||||
                                                        <a href="https://xamarin.com/test-cloud">
 | 
			
		||||
                                                            Xamarin Test Cloud
 | 
			
		||||
                                                            <small>Find bugs before your users do</small>
 | 
			
		||||
                                                        </a>
 | 
			
		||||
                                                    </li>
 | 
			
		||||
                                                    <li class="insights">
 | 
			
		||||
                                                        <a href="https://xamarin.com/insights">
 | 
			
		||||
                                                            Xamarin Insights
 | 
			
		||||
                                                            <small>Improve your apps with real-time monitoring</small>
 | 
			
		||||
                                                        </a>
 | 
			
		||||
                                                    </li>
 | 
			
		||||
                                                    <li class="university">
 | 
			
		||||
                                                        <a href="https://xamarin.com/university">
 | 
			
		||||
                                                            Xamarin University
 | 
			
		||||
                                                            <small>Unlimited, live mobile development training</small>
 | 
			
		||||
                                                        </a>
 | 
			
		||||
                                                    </li>
 | 
			
		||||
                                                </ul>
 | 
			
		||||
                                            </li>
 | 
			
		||||
                                            <li>
 | 
			
		||||
                                                <ul>
 | 
			
		||||
                                                    <li class="all"><a href="//xamarin.com/products">All Products</a></li>
 | 
			
		||||
                                                </ul>
 | 
			
		||||
                                            </li>
 | 
			
		||||
                                        </ul>
 | 
			
		||||
                                    </li>
 | 
			
		||||
                                    <li><a href="https://xamarin.com/customers">Customers</a></li>
 | 
			
		||||
                                    <li class=""><a href="https://store.xamarin.com/">Pricing</a></li>
 | 
			
		||||
                                    <li class=""><a href="http://developer.xamarin.com">Developers</a></li>
 | 
			
		||||
                                    <li class="dropdown ">
 | 
			
		||||
                                        <a href="//xamarin.com/support">Support</a>
 | 
			
		||||
                                        <ul role="menu">
 | 
			
		||||
                                            <li><a href="//xamarin.com/support">Developer Support</a></li>
 | 
			
		||||
                                            <li><a href="//xamarin.com/partners">Consulting Partners</a></li>
 | 
			
		||||
                                            <li><a href="//xamarin.com/partners/services">Consulting Services</a></li>
 | 
			
		||||
                                            <li><a href="//xamarin.com/contact-us">Contact Sales</a></li>
 | 
			
		||||
                                        </ul>
 | 
			
		||||
                                    </li>
 | 
			
		||||
                                    <li class="hide-on-mobile dropdown ">
 | 
			
		||||
                                        <a data-toggle="dropdown" href="//xamarin.com/resources">Resources</a>
 | 
			
		||||
                                        <ul role="menu">
 | 
			
		||||
                                            <li><a href="http://blog.xamarin.com">Blog</a></li>
 | 
			
		||||
                                            <li><a href="//xamarin.com/faq">FAQ</a></li>
 | 
			
		||||
                                            <li><a href="//xamarin.com/partners">Partners</a></li>
 | 
			
		||||
                                            <li><a href="//xamarin.com/resources/webinars">Webinars</a></li>
 | 
			
		||||
                                            <li><a href="//xamarin.com/about">About Xamarin</a></li>
 | 
			
		||||
                                        </ul>
 | 
			
		||||
                                    </li>
 | 
			
		||||
                                    <li class="show-on-mobile"><a href="http://blog.xamarin.com">Blog</a></li>
 | 
			
		||||
                                    <li class="show-on-mobile"><a href="//xamarin.com/about">About Xamarin</a></li>
 | 
			
		||||
 | 
			
		||||
                                        <li class="user "><a href="/auth">Sign In</a></li>
 | 
			
		||||
                                </ul>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <div class="local-bar">
 | 
			
		||||
                        <div class="wrapper">
 | 
			
		||||
                            <div class="navigation">
 | 
			
		||||
                                <ul>
 | 
			
		||||
                                    <li><a href="https://xamarin.uservoice.com/forums/145075-xamarin-component-ideas" class="external">Suggest a Component</a></li>
 | 
			
		||||
                                    <li><a href="/submit">Submit a Component</a></li>
 | 
			
		||||
                                </ul>
 | 
			
		||||
                            </div>
 | 
			
		||||
                        </div>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
 | 
			
		||||
        <div id="container">
 | 
			
		||||
 | 
			
		||||
            <div class="main-page">
 | 
			
		||||
                <div class="main container">
 | 
			
		||||
                    
 | 
			
		||||
 | 
			
		||||
<div class="content">
 | 
			
		||||
    <div class="bottom-gap centered">
 | 
			
		||||
        <h1 class="dark-blue" style="font-size: 240px; line-height: normal; font-weight: 100; margin: 40px 0 0; letter-spacing: -0.035em;">Error</h1>
 | 
			
		||||
        <h2>Oops, something unexpected happened.</h2>
 | 
			
		||||
        <p class="muted">Check out the links above and below. Maybe they can help.</p>
 | 
			
		||||
    </div>
 | 
			
		||||
</div>
 | 
			
		||||
 | 
			
		||||
                </div>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
<div id="global-footer">
 | 
			
		||||
    <div class="wrapper width-10">
 | 
			
		||||
        <a href="https://www.xamarin.com" class="hexagon"></a>
 | 
			
		||||
        <div class="social-icons show-on-mobile">
 | 
			
		||||
            <a class="facebook" href="https://facebook.com/xamarinhq">Facebook</a>
 | 
			
		||||
            <a class="twitter" href="https://twitter.com/xamarinhq">Twitter</a>
 | 
			
		||||
            <a class="github" href="https://github.com/xamarin">GitHub</a>
 | 
			
		||||
        </div>
 | 
			
		||||
 | 
			
		||||
        <div class="navigation hide-on-mobile">
 | 
			
		||||
            <ul>
 | 
			
		||||
                <li>
 | 
			
		||||
                    Products
 | 
			
		||||
                    <ul>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/platform">Xamarin for Visual Studio</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/test-cloud">Xamarin Test Cloud</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/insights">Xamarin Insights</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/university">Xamarin University</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/studio">Xamarin Studio</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/visual-studio">Visual Studio</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/forms">Xamarin.Forms</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/prebuilt-apps">Pre-built apps</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/licensing">Mono Licensing</a></li>
 | 
			
		||||
                    </ul>
 | 
			
		||||
                </li>
 | 
			
		||||
 | 
			
		||||
                <li>
 | 
			
		||||
                    Company
 | 
			
		||||
                    <ul>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/about">About Us</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/customers">Customers</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/consulting-partners">Partners</a></li>
 | 
			
		||||
                        <li><a href="https://blog.xamarin.com">Blog</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/jobs">Jobs</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/press">Press</a></li>
 | 
			
		||||
                        <li><a href="https://store.xamarin.com">Pricing</a></li>
 | 
			
		||||
                    </ul>
 | 
			
		||||
                </li>
 | 
			
		||||
 | 
			
		||||
                <li>
 | 
			
		||||
                    Developer Center
 | 
			
		||||
                    <ul>
 | 
			
		||||
                        <li><a href="http://developer.xamarin.com">Get Started</a></li>
 | 
			
		||||
                        <li><a href="http://developer.xamarin.com/guides">Guides</a></li>
 | 
			
		||||
                        <li><a href="http://developer.xamarin.com/recipes">Recipes</a></li>
 | 
			
		||||
                        <li><a href="http://iosapi.xamarin.com/">Xamarin.iOS APIs</a></li>
 | 
			
		||||
                        <li><a href="http://androidapi.xamarin.com/">Xamarin.Android APIs</a></li>
 | 
			
		||||
                        <li><a href="http://macapi.xamarin.com/">Xamarin.Mac APIs</a></li>
 | 
			
		||||
                        <li><a href="https://forums.xamarin.com">Forums</a></li>
 | 
			
		||||
                        <li><a href="http://planet.xamarin.com">Community Blogs</a></li>
 | 
			
		||||
                        <li><a href="https://components.xamarin.com">Components</a></li>
 | 
			
		||||
                        <li><a href="http://developer.xamarin.com/videos/">Videos</a></li>
 | 
			
		||||
                    </ul>
 | 
			
		||||
                </li>
 | 
			
		||||
 | 
			
		||||
                <li>
 | 
			
		||||
                    Connect
 | 
			
		||||
                    <ul>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/support">Developer Support</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/resources">Resources</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/consulting-partners/services">Consulting Services</a></li>
 | 
			
		||||
                        <li><a href="https://www.xamarin.com/contact-us">Contact Sales</a></li>
 | 
			
		||||
                        <li><a href="https://twitter.com/xamarinhq">Twitter</a></li>
 | 
			
		||||
                        <li><a href="https://github.com/xamarin">GitHub</a></li>
 | 
			
		||||
                        <li><a href="http://stackoverflow.com/questions/tagged/xamarin">Stack Overflow</a></li>
 | 
			
		||||
                        <li><a href="https://www.facebook.com/xamarinhq">Facebook</a></li>
 | 
			
		||||
                        <li><a href="https://plus.google.com/101300081691995092351/posts">Google+</a></li>
 | 
			
		||||
                        <li><a href="https://www.youtube.com/user/XamarinVideos">YouTube</a></li>
 | 
			
		||||
                    </ul>
 | 
			
		||||
                </li>
 | 
			
		||||
            </ul>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
    <footer>
 | 
			
		||||
        <div class="wrapper">
 | 
			
		||||
            <div class="contact">
 | 
			
		||||
                <a class="tel" href="tel:18559262746">+1 (855) 926-2746</a>
 | 
			
		||||
                <a class="email" href="mailto:hello@xamarin.com">hello@xamarin.com</a>
 | 
			
		||||
            </div>
 | 
			
		||||
            <a class="microsoft-logo" href="https://www.microsoft.com"><img src="/resources/img/microsoft-logo-invert.svg" alt="Microsoft"></a>
 | 
			
		||||
            <div class="legal">
 | 
			
		||||
                <a href="https://www.xamarin.com/privacy">Privacy policy</a>
 | 
			
		||||
                <span>© <noscript>2016</noscript>
 | 
			
		||||
                <script>document.write(new Date().getFullYear())</script> Xamarin Inc.</span>
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </footer>
 | 
			
		||||
</div>
 | 
			
		||||
        <!--[if gte IE 6]></div><![endif]-->
 | 
			
		||||
        <!--[if IE]></div><![endif]-->
 | 
			
		||||
 | 
			
		||||
        <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
 | 
			
		||||
        <script type="text/javascript" src="//code.jquery.com/jquery-migrate-1.2.1.js"></script>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
<script src="/cassette.axd/script/1b27fd9cd2a430dbb6551fbbebf3ca11bfb1b5d6/resources/scripts/global" type="text/javascript"></script>
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
        <!--[if (gte IE 6)&(lte IE 8)]>
 | 
			
		||||
            <script type="text/javascript" src="~/resources/scripts/jquery-extra-selectors.js"></script>
 | 
			
		||||
            <script type="text/javascript" src="~/resources/scripts/selectivizr.js"></script>
 | 
			
		||||
        <![endif]-->
 | 
			
		||||
 | 
			
		||||
        <script>
 | 
			
		||||
            window.pre_authed_by_view=!1;
 | 
			
		||||
        </script>
 | 
			
		||||
 | 
			
		||||
        <!-- [User: Identity=, EmailAddress=no-email@not-xamarin.com, DisplayName=Anonymous, IsAdmin=False, IsLoggedIn=False] -->
 | 
			
		||||
 | 
			
		||||
            <script>
 | 
			
		||||
                var _gaq = _gaq || [];
 | 
			
		||||
                _gaq.push(['_setAccount', 'UA-23759232-11']);
 | 
			
		||||
                _gaq.push(['_trackPageview']);
 | 
			
		||||
 | 
			
		||||
                (function() {
 | 
			
		||||
                    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
 | 
			
		||||
                    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
 | 
			
		||||
                    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 | 
			
		||||
                })();
 | 
			
		||||
            </script>
 | 
			
		||||
 | 
			
		||||
        <script type="text/javascript">
 | 
			
		||||
            window.analytics || (window.analytics = []), window.analytics.methods = ["identify", "track", "trackLink", "trackForm", "trackClick", "trackSubmit", "page", "pageview", "ab", "alias", "ready", "group", "on", "once", "off"], window.analytics.factory = function (a) {
 | 
			
		||||
                return function () {
 | 
			
		||||
                    var t = Array.prototype.slice.call (arguments);
 | 
			
		||||
                    return t.unshift (a), window.analytics.push (t), window.analytics;
 | 
			
		||||
                };
 | 
			
		||||
            };
 | 
			
		||||
            for (var i = 0; i < window.analytics.methods.length; i++) {
 | 
			
		||||
                var method = window.analytics.methods[i];
 | 
			
		||||
                window.analytics [method] = window.analytics.factory (method);
 | 
			
		||||
            }
 | 
			
		||||
            window.analytics.load = function (a) {
 | 
			
		||||
                var t = document.createElement("script");
 | 
			
		||||
                t.type = "text/javascript", t.async = true, t.src = ("https:" === document.location.protocol ? "https://" : "http://") + "d2dq2ahtl5zl1z.cloudfront.net/analytics.js/v1/" + a + "/analytics.min.js";
 | 
			
		||||
                var n = document.getElementsByTagName("script")[0];
 | 
			
		||||
                n.parentNode.insertBefore (t, n);
 | 
			
		||||
            };
 | 
			
		||||
            var newRegistrant = false;
 | 
			
		||||
            window.XamVisitor = window.XamVisitor || {};
 | 
			
		||||
            window.analytics.load('7iordhccdt');
 | 
			
		||||
            window.analytics.page('Component Store', "Component Store Page");
 | 
			
		||||
 | 
			
		||||
            // TODO: Replace this with some AJAX stuff or something...
 | 
			
		||||
            
 | 
			
		||||
            XamVisitor.anonymous = true;
 | 
			
		||||
            window.analytics.track ("Visited Component Store");
 | 
			
		||||
            
 | 
			
		||||
        </script>
 | 
			
		||||
 | 
			
		||||
        
 | 
			
		||||
    </body>
 | 
			
		||||
</html>
 | 
			
		||||
							
								
								
									
										14
									
								
								Components/GeolocatorPlugin-1.0.3/component/Details.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,14 @@
 | 
			
		||||
# Geolocator Plugin details
 | 
			
		||||
 | 
			
		||||
Simple cross platform plugin to get GPS location including heading, speed, and more.
 | 
			
		||||
 | 
			
		||||
#### Features
 | 
			
		||||
* Async GPS Location Detection
 | 
			
		||||
* Heading
 | 
			
		||||
* Speed
 | 
			
		||||
* Listen for Changes
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Works from any shared code or PCL project.
 | 
			
		||||
 | 
			
		||||
Find more plugins at: http://www.github.com/xamarin/plugins
 | 
			
		||||
@ -0,0 +1,30 @@
 | 
			
		||||
# Getting Started with Geolocator Plugin
 | 
			
		||||
 | 
			
		||||
### API Usage
 | 
			
		||||
 | 
			
		||||
Call **CrossGeolocator.Current** from any project or PCL to gain access to APIs.
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
var locator = CrossGeolocator.Current;
 | 
			
		||||
locator.DesiredAccuracy = 50;
 | 
			
		||||
 | 
			
		||||
var position = await locator.GetPositionAsync (timeoutMilliseconds: 10000);
 | 
			
		||||
 | 
			
		||||
Console.WriteLine ("Position Status: {0}", position.Timestamp);
 | 
			
		||||
Console.WriteLine ("Position Latitude: {0}", position.Latitude);
 | 
			
		||||
Console.WriteLine ("Position Longitude: {0}", position.Longitude);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### **IMPORTANT**
 | 
			
		||||
Android:
 | 
			
		||||
 | 
			
		||||
You must request ACCESS_COARSE_LOCATION & ACCESS_FINE_LOCATION permission
 | 
			
		||||
 | 
			
		||||
iOS:
 | 
			
		||||
 | 
			
		||||
In iOS 8 you now have to call either RequestWhenInUseAuthorization or RequestAlwaysAuthorization on the location manager. Additionally you need to add either the concisely named NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription to your Info.plist. 
 | 
			
		||||
See:  http://motzcod.es/post/97662738237/scanning-for-ibeacons-in-ios-8
 | 
			
		||||
 | 
			
		||||
Windows Phone:
 | 
			
		||||
 | 
			
		||||
You must set the ID_CAP_LOCATION permission.
 | 
			
		||||
							
								
								
									
										23
									
								
								Components/GeolocatorPlugin-1.0.3/component/License.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,23 @@
 | 
			
		||||
# Geolocator Plugin license
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
The MIT License (MIT)
 | 
			
		||||
 | 
			
		||||
Copyright (c) 2014 James Montemagno / Refractored LLC
 | 
			
		||||
 | 
			
		||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
 | 
			
		||||
this software and associated documentation files (the "Software"), to deal in
 | 
			
		||||
the Software without restriction, including without limitation the rights to
 | 
			
		||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
 | 
			
		||||
the Software, and to permit persons to whom the Software is furnished to do so,
 | 
			
		||||
subject to the following conditions:
 | 
			
		||||
 | 
			
		||||
The above copyright notice and this permission notice shall be included in all
 | 
			
		||||
copies or substantial portions of the Software.
 | 
			
		||||
 | 
			
		||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
 | 
			
		||||
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
 | 
			
		||||
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
 | 
			
		||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 | 
			
		||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
							
								
								
									
										29
									
								
								Components/GeolocatorPlugin-1.0.3/component/Manifest.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						@ -0,0 +1,29 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<component format="1" id="GeolocatorPlugin" is-shell="true">
 | 
			
		||||
  <name>Geolocator Plugin</name>
 | 
			
		||||
  <publisher>James Montemagno</publisher>
 | 
			
		||||
  <publisher-url>http://www.github.com/jamesmontemagno/Xamarin.Plugins</publisher-url>
 | 
			
		||||
  <version>1.0.3</version>
 | 
			
		||||
  <summary>Simple cross platform plugin to get GPS location including heading, speed, and more.</summary>
 | 
			
		||||
  <packages>
 | 
			
		||||
    <package id="Xam.Plugin.Geolocator" version="1.0.3" framework="winphone-8.1" />
 | 
			
		||||
    <package id="Xam.Plugin.Geolocator" version="1.0.3" framework="ios-unified" />
 | 
			
		||||
    <package id="Xam.Plugin.Geolocator" version="1.0.3" framework="android" />
 | 
			
		||||
    <package id="Xam.Plugin.Geolocator" version="1.0.3" framework="winphone-8.0" />
 | 
			
		||||
    <package id="Xam.Plugin.Geolocator" version="1.0.3" framework="ios" />
 | 
			
		||||
  </packages>
 | 
			
		||||
  <samples>
 | 
			
		||||
    <sample id="GeolocatorSample">
 | 
			
		||||
      <name>Android Sample</name>
 | 
			
		||||
      <summary>Android Sample</summary>
 | 
			
		||||
    </sample>
 | 
			
		||||
    <sample id="GeolocatorSample">
 | 
			
		||||
      <name>WindowsPhone Sample</name>
 | 
			
		||||
      <summary>WindowsPhone Sample</summary>
 | 
			
		||||
    </sample>
 | 
			
		||||
    <sample id="GeolocatorSample">
 | 
			
		||||
      <name>iOS Sample</name>
 | 
			
		||||
      <summary>iOS Sample</summary>
 | 
			
		||||
    </sample>
 | 
			
		||||
  </samples>
 | 
			
		||||
</component>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 14 KiB  | 
| 
		 After Width: | Height: | Size: 117 KiB  | 
@ -0,0 +1,210 @@
 | 
			
		||||
 | 
			
		||||
Microsoft Visual Studio Solution File, Format Version 12.00
 | 
			
		||||
# Visual Studio 2013
 | 
			
		||||
VisualStudioVersion = 12.0.30723.0
 | 
			
		||||
MinimumVisualStudioVersion = 10.0.40219.1
 | 
			
		||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GeolocatorSample", "GeolocatorSample\GeolocatorSample\GeolocatorSample.csproj", "{02BB8331-934C-424B-A0ED-438E6F1C39D4}"
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GeolocatorSample.iOS", "GeolocatorSample\GeolocatorSample.iOS\GeolocatorSample.iOS.csproj", "{CF64F284-8850-4DC0-ADD4-E066A0744AF3}"
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GeolocatorSample.Droid", "GeolocatorSample\GeolocatorSample.Droid\GeolocatorSample.Droid.csproj", "{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}"
 | 
			
		||||
EndProject
 | 
			
		||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GeolocatorSample.WinPhone", "GeolocatorSample\GeolocatorSample.WinPhone\GeolocatorSample.WinPhone.csproj", "{82A2958E-AB5B-40B8-A556-DA41952F870F}"
 | 
			
		||||
EndProject
 | 
			
		||||
Global
 | 
			
		||||
	GlobalSection(SolutionConfigurationPlatforms) = preSolution
 | 
			
		||||
		Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
 | 
			
		||||
		Ad-Hoc|ARM = Ad-Hoc|ARM
 | 
			
		||||
		Ad-Hoc|iPhone = Ad-Hoc|iPhone
 | 
			
		||||
		Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator
 | 
			
		||||
		Ad-Hoc|Mixed Platforms = Ad-Hoc|Mixed Platforms
 | 
			
		||||
		Ad-Hoc|x86 = Ad-Hoc|x86
 | 
			
		||||
		AppStore|Any CPU = AppStore|Any CPU
 | 
			
		||||
		AppStore|ARM = AppStore|ARM
 | 
			
		||||
		AppStore|iPhone = AppStore|iPhone
 | 
			
		||||
		AppStore|iPhoneSimulator = AppStore|iPhoneSimulator
 | 
			
		||||
		AppStore|Mixed Platforms = AppStore|Mixed Platforms
 | 
			
		||||
		AppStore|x86 = AppStore|x86
 | 
			
		||||
		Debug|Any CPU = Debug|Any CPU
 | 
			
		||||
		Debug|ARM = Debug|ARM
 | 
			
		||||
		Debug|iPhone = Debug|iPhone
 | 
			
		||||
		Debug|iPhoneSimulator = Debug|iPhoneSimulator
 | 
			
		||||
		Debug|Mixed Platforms = Debug|Mixed Platforms
 | 
			
		||||
		Debug|x86 = Debug|x86
 | 
			
		||||
		Release|Any CPU = Release|Any CPU
 | 
			
		||||
		Release|ARM = Release|ARM
 | 
			
		||||
		Release|iPhone = Release|iPhone
 | 
			
		||||
		Release|iPhoneSimulator = Release|iPhoneSimulator
 | 
			
		||||
		Release|Mixed Platforms = Release|Mixed Platforms
 | 
			
		||||
		Release|x86 = Release|x86
 | 
			
		||||
	EndGlobalSection
 | 
			
		||||
	GlobalSection(ProjectConfigurationPlatforms) = postSolution
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Ad-Hoc|Mixed Platforms.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Ad-Hoc|Mixed Platforms.Build.0 = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.AppStore|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.AppStore|ARM.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.AppStore|iPhone.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.AppStore|x86.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Debug|ARM.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Debug|iPhone.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Debug|x86.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Release|ARM.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Release|iPhone.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Release|Mixed Platforms.Build.0 = Release|Any CPU
 | 
			
		||||
		{02BB8331-934C-424B-A0ED-438E6F1C39D4}.Release|x86.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Ad-Hoc|Mixed Platforms.ActiveCfg = Ad-Hoc|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Ad-Hoc|Mixed Platforms.Build.0 = Ad-Hoc|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.AppStore|ARM.ActiveCfg = AppStore|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.AppStore|iPhone.ActiveCfg = AppStore|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.AppStore|iPhone.Build.0 = AppStore|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.AppStore|Mixed Platforms.ActiveCfg = AppStore|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.AppStore|Mixed Platforms.Build.0 = AppStore|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.AppStore|x86.ActiveCfg = AppStore|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Debug|Any CPU.ActiveCfg = Debug|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Debug|ARM.ActiveCfg = Debug|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Debug|iPhone.ActiveCfg = Debug|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Debug|iPhone.Build.0 = Debug|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Debug|Mixed Platforms.ActiveCfg = Debug|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Debug|Mixed Platforms.Build.0 = Debug|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Debug|x86.ActiveCfg = Debug|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Release|Any CPU.ActiveCfg = Release|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Release|ARM.ActiveCfg = Release|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Release|iPhone.ActiveCfg = Release|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Release|iPhone.Build.0 = Release|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Release|Mixed Platforms.ActiveCfg = Release|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Release|Mixed Platforms.Build.0 = Release|iPhone
 | 
			
		||||
		{CF64F284-8850-4DC0-ADD4-E066A0744AF3}.Release|x86.ActiveCfg = Release|iPhone
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Ad-Hoc|Mixed Platforms.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Ad-Hoc|Mixed Platforms.Build.0 = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Ad-Hoc|Mixed Platforms.Deploy.0 = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.AppStore|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.AppStore|Any CPU.Deploy.0 = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.AppStore|ARM.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.AppStore|iPhone.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.AppStore|Mixed Platforms.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.AppStore|Mixed Platforms.Build.0 = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.AppStore|Mixed Platforms.Deploy.0 = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.AppStore|x86.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Debug|ARM.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Debug|iPhone.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Debug|Mixed Platforms.Deploy.0 = Debug|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Debug|x86.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Release|Any CPU.Deploy.0 = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Release|ARM.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Release|iPhone.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Release|Mixed Platforms.Build.0 = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Release|Mixed Platforms.Deploy.0 = Release|Any CPU
 | 
			
		||||
		{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}.Release|x86.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|ARM.ActiveCfg = Release|ARM
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|ARM.Build.0 = Release|ARM
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|ARM.Deploy.0 = Release|ARM
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|Mixed Platforms.ActiveCfg = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|Mixed Platforms.Build.0 = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|Mixed Platforms.Deploy.0 = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|x86.ActiveCfg = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|x86.Build.0 = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Ad-Hoc|x86.Deploy.0 = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|Any CPU.Deploy.0 = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|ARM.ActiveCfg = Release|ARM
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|ARM.Build.0 = Release|ARM
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|ARM.Deploy.0 = Release|ARM
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|iPhone.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|Mixed Platforms.ActiveCfg = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|Mixed Platforms.Build.0 = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|Mixed Platforms.Deploy.0 = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|x86.ActiveCfg = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|x86.Build.0 = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.AppStore|x86.Deploy.0 = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|Any CPU.Build.0 = Debug|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|ARM.ActiveCfg = Debug|ARM
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|ARM.Build.0 = Debug|ARM
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|ARM.Deploy.0 = Debug|ARM
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|iPhone.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|Mixed Platforms.ActiveCfg = Debug|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|Mixed Platforms.Build.0 = Debug|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|Mixed Platforms.Deploy.0 = Debug|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|x86.ActiveCfg = Debug|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|x86.Build.0 = Debug|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Debug|x86.Deploy.0 = Debug|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|Any CPU.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|Any CPU.Build.0 = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|Any CPU.Deploy.0 = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|ARM.ActiveCfg = Release|ARM
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|ARM.Build.0 = Release|ARM
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|ARM.Deploy.0 = Release|ARM
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|iPhone.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|Mixed Platforms.ActiveCfg = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|Mixed Platforms.Build.0 = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|Mixed Platforms.Deploy.0 = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|x86.ActiveCfg = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|x86.Build.0 = Release|x86
 | 
			
		||||
		{82A2958E-AB5B-40B8-A556-DA41952F870F}.Release|x86.Deploy.0 = Release|x86
 | 
			
		||||
	EndGlobalSection
 | 
			
		||||
	GlobalSection(SolutionProperties) = preSolution
 | 
			
		||||
		HideSolutionNode = FALSE
 | 
			
		||||
	EndGlobalSection
 | 
			
		||||
EndGlobal
 | 
			
		||||
@ -0,0 +1,19 @@
 | 
			
		||||
Any raw assets you want to be deployed with your application can be placed in
 | 
			
		||||
this directory (and child directories) and given a Build Action of "AndroidAsset".
 | 
			
		||||
 | 
			
		||||
These files will be deployed with you package and will be accessible using Android's
 | 
			
		||||
AssetManager, like this:
 | 
			
		||||
 | 
			
		||||
public class ReadAsset : Activity
 | 
			
		||||
{
 | 
			
		||||
	protected override void OnCreate (Bundle bundle)
 | 
			
		||||
	{
 | 
			
		||||
		base.OnCreate (bundle);
 | 
			
		||||
 | 
			
		||||
		InputStream input = Assets.Open ("my_asset.txt");
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Additionally, some Android functions will automatically load asset files:
 | 
			
		||||
 | 
			
		||||
Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
 | 
			
		||||
@ -0,0 +1,125 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <PropertyGroup>
 | 
			
		||||
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
 | 
			
		||||
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
 | 
			
		||||
    <ProductVersion>8.0.30703</ProductVersion>
 | 
			
		||||
    <SchemaVersion>2.0</SchemaVersion>
 | 
			
		||||
    <ProjectGuid>{FD7768FC-ECB7-4E9C-AFBB-ADEB949B2748}</ProjectGuid>
 | 
			
		||||
    <ProjectTypeGuids>{EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
 | 
			
		||||
    <OutputType>Library</OutputType>
 | 
			
		||||
    <AppDesignerFolder>Properties</AppDesignerFolder>
 | 
			
		||||
    <RootNamespace>GeolocatorSample.Droid</RootNamespace>
 | 
			
		||||
    <AssemblyName>GeolocatorSample.Droid</AssemblyName>
 | 
			
		||||
    <FileAlignment>512</FileAlignment>
 | 
			
		||||
    <AndroidApplication>true</AndroidApplication>
 | 
			
		||||
    <AndroidResgenFile>Resources\Resource.Designer.cs</AndroidResgenFile>
 | 
			
		||||
    <GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
 | 
			
		||||
    <AndroidManifest>Properties\AndroidManifest.xml</AndroidManifest>
 | 
			
		||||
    <AndroidUseLatestPlatformSdk>true</AndroidUseLatestPlatformSdk>
 | 
			
		||||
    <AndroidSupportedAbis>armeabi,armeabi-v7a,x86</AndroidSupportedAbis>
 | 
			
		||||
    <AndroidStoreUncompressedFileExtensions />
 | 
			
		||||
    <MandroidI18n />
 | 
			
		||||
    <JavaMaximumHeapSize />
 | 
			
		||||
    <JavaOptions />
 | 
			
		||||
    <NuGetPackageImportStamp>cd56d9b5</NuGetPackageImportStamp>
 | 
			
		||||
    <TargetFrameworkVersion>v5.1</TargetFrameworkVersion>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <Optimize>false</Optimize>
 | 
			
		||||
    <OutputPath>bin\Debug\</OutputPath>
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE</DefineConstants>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
    <AndroidUseSharedRuntime>True</AndroidUseSharedRuntime>
 | 
			
		||||
    <AndroidLinkMode>None</AndroidLinkMode>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <DebugType>pdbonly</DebugType>
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <OutputPath>bin\Release\</OutputPath>
 | 
			
		||||
    <DefineConstants>TRACE</DefineConstants>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
    <AndroidUseSharedRuntime>False</AndroidUseSharedRuntime>
 | 
			
		||||
    <AndroidLinkMode>SdkOnly</AndroidLinkMode>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Reference Include="FormsViewGroup, Version=1.3.4.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <SpecificVersion>False</SpecificVersion>
 | 
			
		||||
      <HintPath>..\..\packages\Xamarin.Forms.1.3.4.6332\lib\MonoAndroid10\FormsViewGroup.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Geolocator.Plugin, Version=1.0.3.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\..\packages\Xam.Plugin.Geolocator.1.0.3\lib\MonoAndroid10\Geolocator.Plugin.dll</HintPath>
 | 
			
		||||
      <Private>True</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Geolocator.Plugin.Abstractions, Version=1.0.3.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\..\packages\Xam.Plugin.Geolocator.1.0.3\lib\MonoAndroid10\Geolocator.Plugin.Abstractions.dll</HintPath>
 | 
			
		||||
      <Private>True</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Mono.Android" />
 | 
			
		||||
    <Reference Include="mscorlib" />
 | 
			
		||||
    <Reference Include="System" />
 | 
			
		||||
    <Reference Include="System.Core" />
 | 
			
		||||
    <Reference Include="System.Xml.Linq" />
 | 
			
		||||
    <Reference Include="System.Xml" />
 | 
			
		||||
    <Reference Include="Xamarin.Android.Support.v4, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <SpecificVersion>False</SpecificVersion>
 | 
			
		||||
      <HintPath>..\..\packages\Xamarin.Android.Support.v4.21.0.3.0\lib\MonoAndroid10\Xamarin.Android.Support.v4.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Xamarin.Forms.Core, Version=1.3.4.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <SpecificVersion>False</SpecificVersion>
 | 
			
		||||
      <HintPath>..\..\packages\Xamarin.Forms.1.3.4.6332\lib\MonoAndroid10\Xamarin.Forms.Core.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Xamarin.Forms.Platform.Android, Version=1.3.4.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <SpecificVersion>False</SpecificVersion>
 | 
			
		||||
      <HintPath>..\..\packages\Xamarin.Forms.1.3.4.6332\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Xamarin.Forms.Xaml, Version=1.3.4.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <SpecificVersion>False</SpecificVersion>
 | 
			
		||||
      <HintPath>..\..\packages\Xamarin.Forms.1.3.4.6332\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Compile Include="MainActivity.cs" />
 | 
			
		||||
    <Compile Include="Resources\Resource.Designer.cs" />
 | 
			
		||||
    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <None Include="packages.config" />
 | 
			
		||||
    <None Include="Resources\AboutResources.txt" />
 | 
			
		||||
    <None Include="Assets\AboutAssets.txt" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <AndroidResource Include="Resources\drawable\icon.png" />
 | 
			
		||||
    <AndroidResource Include="Resources\drawable-hdpi\icon.png" />
 | 
			
		||||
    <AndroidResource Include="Resources\drawable-xhdpi\icon.png" />
 | 
			
		||||
    <AndroidResource Include="Resources\drawable-xxhdpi\icon.png" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Content Include="PluginsHelp\GeolocatorReadme.txt" />
 | 
			
		||||
    <Content Include="Properties\AndroidManifest.xml" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ProjectReference Include="..\GeolocatorSample\GeolocatorSample.csproj">
 | 
			
		||||
      <Name>GeolocatorSample</Name>
 | 
			
		||||
    </ProjectReference>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Import Project="$(MSBuildExtensionsPath)\Xamarin\Android\Xamarin.Android.CSharp.targets" />
 | 
			
		||||
  <Import Project="..\..\packages\Xamarin.Forms.1.3.4.6332\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.1.3.4.6332\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
 | 
			
		||||
  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
 | 
			
		||||
    <PropertyGroup>
 | 
			
		||||
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
 | 
			
		||||
    </PropertyGroup>
 | 
			
		||||
    <Error Condition="!Exists('..\..\packages\Xamarin.Forms.1.3.4.6332\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.1.3.4.6332\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" />
 | 
			
		||||
  </Target>
 | 
			
		||||
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
 | 
			
		||||
     Other similar extension points exist, see Microsoft.Common.targets.
 | 
			
		||||
  <Target Name="BeforeBuild">
 | 
			
		||||
  </Target>
 | 
			
		||||
  <Target Name="AfterBuild">
 | 
			
		||||
  </Target>
 | 
			
		||||
  -->
 | 
			
		||||
</Project>
 | 
			
		||||
@ -0,0 +1,24 @@
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
using Android.App;
 | 
			
		||||
using Android.Content.PM;
 | 
			
		||||
using Android.Runtime;
 | 
			
		||||
using Android.Views;
 | 
			
		||||
using Android.Widget;
 | 
			
		||||
using Android.OS;
 | 
			
		||||
 | 
			
		||||
namespace GeolocatorSample.Droid
 | 
			
		||||
{
 | 
			
		||||
  [Activity(Label = "GeolocatorSample", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
 | 
			
		||||
  public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity
 | 
			
		||||
  {
 | 
			
		||||
    protected override void OnCreate(Bundle bundle)
 | 
			
		||||
    {
 | 
			
		||||
      base.OnCreate(bundle);
 | 
			
		||||
 | 
			
		||||
      global::Xamarin.Forms.Forms.Init(this, bundle);
 | 
			
		||||
      LoadApplication(new App());
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,24 @@
 | 
			
		||||
Connectivity Readme
 | 
			
		||||
Find the most up to date information at: https://github.com/jamesmontemagno/Xamarin.Plugins
 | 
			
		||||
 | 
			
		||||
**IMPORTANT**
 | 
			
		||||
Android:
 | 
			
		||||
You must request ACCESS_COARSE_LOCATION & ACCESS_FINE_LOCATION permission
 | 
			
		||||
 | 
			
		||||
iOS:
 | 
			
		||||
In iOS 8 you now have to call either RequestWhenInUseAuthorization or RequestAlwaysAuthorization on the location manager. Additionally you need to add either the concisely named NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription to your Info.plist. 
 | 
			
		||||
See:  http://motzcod.es/post/97662738237/scanning-for-ibeacons-in-ios-8
 | 
			
		||||
 | 
			
		||||
Windows Phone:
 | 
			
		||||
You must set the ID_CAP_LOCATION permission.
 | 
			
		||||
 | 
			
		||||
Getting Started:
 | 
			
		||||
 | 
			
		||||
var locator = CrossGeolocator.Current;
 | 
			
		||||
locator.DesiredAccuracy = 50;
 | 
			
		||||
 | 
			
		||||
var position = await locator.GetPositionAsync (timeoutMilliseconds: 10000);
 | 
			
		||||
 | 
			
		||||
Console.WriteLine ("Position Status: {0}", position.Timestamp);
 | 
			
		||||
Console.WriteLine ("Position Latitude: {0}", position.Latitude);
 | 
			
		||||
Console.WriteLine ("Position Longitude: {0}", position.Longitude);
 | 
			
		||||
@ -0,0 +1,7 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="auto">
 | 
			
		||||
	<uses-sdk android:minSdkVersion="15" />
 | 
			
		||||
	<application></application>
 | 
			
		||||
	<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
 | 
			
		||||
	<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
 | 
			
		||||
</manifest>
 | 
			
		||||
@ -0,0 +1,34 @@
 | 
			
		||||
using System.Reflection;
 | 
			
		||||
using System.Runtime.CompilerServices;
 | 
			
		||||
using System.Runtime.InteropServices;
 | 
			
		||||
using Android.App;
 | 
			
		||||
 | 
			
		||||
// General Information about an assembly is controlled through the following 
 | 
			
		||||
// set of attributes. Change these attribute values to modify the information
 | 
			
		||||
// associated with an assembly.
 | 
			
		||||
[assembly: AssemblyTitle("GeolocatorSample.Droid")]
 | 
			
		||||
[assembly: AssemblyDescription("")]
 | 
			
		||||
[assembly: AssemblyConfiguration("")]
 | 
			
		||||
[assembly: AssemblyCompany("")]
 | 
			
		||||
[assembly: AssemblyProduct("GeolocatorSample.Droid")]
 | 
			
		||||
[assembly: AssemblyCopyright("Copyright ©  2014")]
 | 
			
		||||
[assembly: AssemblyTrademark("")]
 | 
			
		||||
[assembly: AssemblyCulture("")]
 | 
			
		||||
[assembly: ComVisible(false)]
 | 
			
		||||
 | 
			
		||||
// Version information for an assembly consists of the following four values:
 | 
			
		||||
//
 | 
			
		||||
//      Major Version
 | 
			
		||||
//      Minor Version 
 | 
			
		||||
//      Build Number
 | 
			
		||||
//      Revision
 | 
			
		||||
//
 | 
			
		||||
// You can specify all the values or you can default the Build and Revision Numbers 
 | 
			
		||||
// by using the '*' as shown below:
 | 
			
		||||
// [assembly: AssemblyVersion("1.0.*")]
 | 
			
		||||
[assembly: AssemblyVersion("1.0.0.0")]
 | 
			
		||||
[assembly: AssemblyFileVersion("1.0.0.0")]
 | 
			
		||||
 | 
			
		||||
// Add some common permissions, these can be removed if not needed
 | 
			
		||||
[assembly: UsesPermission(Android.Manifest.Permission.Internet)]
 | 
			
		||||
[assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)]
 | 
			
		||||
@ -0,0 +1,50 @@
 | 
			
		||||
Images, layout descriptions, binary blobs and string dictionaries can be included 
 | 
			
		||||
in your application as resource files.  Various Android APIs are designed to 
 | 
			
		||||
operate on the resource IDs instead of dealing with images, strings or binary blobs 
 | 
			
		||||
directly.
 | 
			
		||||
 | 
			
		||||
For example, a sample Android app that contains a user interface layout (main.xml),
 | 
			
		||||
an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 
 | 
			
		||||
would keep its resources in the "Resources" directory of the application:
 | 
			
		||||
 | 
			
		||||
Resources/
 | 
			
		||||
    drawable-hdpi/
 | 
			
		||||
        icon.png
 | 
			
		||||
 | 
			
		||||
    drawable-ldpi/
 | 
			
		||||
        icon.png
 | 
			
		||||
 | 
			
		||||
    drawable-mdpi/
 | 
			
		||||
        icon.png
 | 
			
		||||
 | 
			
		||||
    layout/
 | 
			
		||||
        main.xml
 | 
			
		||||
 | 
			
		||||
    values/
 | 
			
		||||
        strings.xml
 | 
			
		||||
 | 
			
		||||
In order to get the build system to recognize Android resources, set the build action to
 | 
			
		||||
"AndroidResource".  The native Android APIs do not operate directly with filenames, but 
 | 
			
		||||
instead operate on resource IDs.  When you compile an Android application that uses resources, 
 | 
			
		||||
the build system will package the resources for distribution and generate a class called
 | 
			
		||||
"Resource" that contains the tokens for each one of the resources included. For example, 
 | 
			
		||||
for the above Resources layout, this is what the Resource class would expose:
 | 
			
		||||
 | 
			
		||||
public class Resource {
 | 
			
		||||
    public class drawable {
 | 
			
		||||
        public const int icon = 0x123;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public class layout {
 | 
			
		||||
        public const int main = 0x456;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public class strings {
 | 
			
		||||
        public const int first_string = 0xabc;
 | 
			
		||||
        public const int second_string = 0xbcd;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main 
 | 
			
		||||
to reference the layout/main.xml file, or Resource.strings.first_string to reference the first 
 | 
			
		||||
string in the dictionary file values/strings.xml.
 | 
			
		||||
@ -0,0 +1,61 @@
 | 
			
		||||
#pragma warning disable 1591
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
// <auto-generated>
 | 
			
		||||
//     This code was generated by a tool.
 | 
			
		||||
//     Runtime Version:4.0.30319.34014
 | 
			
		||||
//
 | 
			
		||||
//     Changes to this file may cause incorrect behavior and will be lost if
 | 
			
		||||
//     the code is regenerated.
 | 
			
		||||
// </auto-generated>
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
[assembly: global::Android.Runtime.ResourceDesignerAttribute("GeolocatorSample.Droid.Resource", IsApplication=true)]
 | 
			
		||||
 | 
			
		||||
namespace GeolocatorSample.Droid
 | 
			
		||||
{
 | 
			
		||||
	
 | 
			
		||||
	
 | 
			
		||||
	[System.CodeDom.Compiler.GeneratedCodeAttribute("Xamarin.Android.Build.Tasks", "1.0.0.0")]
 | 
			
		||||
	public partial class Resource
 | 
			
		||||
	{
 | 
			
		||||
		
 | 
			
		||||
		static Resource()
 | 
			
		||||
		{
 | 
			
		||||
			global::Android.Runtime.ResourceIdManager.UpdateIdValues();
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		public static void UpdateIdValues()
 | 
			
		||||
		{
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		public partial class Attribute
 | 
			
		||||
		{
 | 
			
		||||
			
 | 
			
		||||
			static Attribute()
 | 
			
		||||
			{
 | 
			
		||||
				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			private Attribute()
 | 
			
		||||
			{
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		public partial class Drawable
 | 
			
		||||
		{
 | 
			
		||||
			
 | 
			
		||||
			// aapt resource value: 0x7f020000
 | 
			
		||||
			public const int icon = 2130837504;
 | 
			
		||||
			
 | 
			
		||||
			static Drawable()
 | 
			
		||||
			{
 | 
			
		||||
				global::Android.Runtime.ResourceIdManager.UpdateIdValues();
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			private Drawable()
 | 
			
		||||
			{
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
#pragma warning restore 1591
 | 
			
		||||
| 
		 After Width: | Height: | Size: 1.4 KiB  | 
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
| 
		 After Width: | Height: | Size: 2.3 KiB  | 
| 
		 After Width: | Height: | Size: 1.4 KiB  | 
@ -0,0 +1,6 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<packages>
 | 
			
		||||
  <package id="Xam.Plugin.Geolocator" version="1.0.3" targetFramework="MonoAndroid51" />
 | 
			
		||||
  <package id="Xamarin.Android.Support.v4" version="21.0.3.0" targetFramework="MonoAndroid22" />
 | 
			
		||||
  <package id="Xamarin.Forms" version="1.3.4.6332" targetFramework="MonoAndroid22" />
 | 
			
		||||
</packages>
 | 
			
		||||
@ -0,0 +1,20 @@
 | 
			
		||||
<Application
 | 
			
		||||
    x:Class="GeolocatorSample.WinPhone.App"
 | 
			
		||||
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 | 
			
		||||
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 | 
			
		||||
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
 | 
			
		||||
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone">
 | 
			
		||||
 | 
			
		||||
    <!--Application Resources-->
 | 
			
		||||
    <Application.Resources>
 | 
			
		||||
        <local:LocalizedStrings xmlns:local="clr-namespace:GeolocatorSample.WinPhone" x:Key="LocalizedStrings"/>
 | 
			
		||||
    </Application.Resources>
 | 
			
		||||
 | 
			
		||||
    <Application.ApplicationLifetimeObjects>
 | 
			
		||||
        <!--Required object that handles lifetime events for the application-->
 | 
			
		||||
        <shell:PhoneApplicationService
 | 
			
		||||
            Launching="Application_Launching" Closing="Application_Closing"
 | 
			
		||||
            Activated="Application_Activated" Deactivated="Application_Deactivated"/>
 | 
			
		||||
    </Application.ApplicationLifetimeObjects>
 | 
			
		||||
 | 
			
		||||
</Application>
 | 
			
		||||
@ -0,0 +1,223 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Diagnostics;
 | 
			
		||||
using System.Resources;
 | 
			
		||||
using System.Windows;
 | 
			
		||||
using System.Windows.Markup;
 | 
			
		||||
using System.Windows.Navigation;
 | 
			
		||||
using Microsoft.Phone.Controls;
 | 
			
		||||
using Microsoft.Phone.Shell;
 | 
			
		||||
using GeolocatorSample.WinPhone.Resources;
 | 
			
		||||
 | 
			
		||||
namespace GeolocatorSample.WinPhone
 | 
			
		||||
{
 | 
			
		||||
  public partial class App : Application
 | 
			
		||||
  {
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Provides easy access to the root frame of the Phone Application.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    /// <returns>The root frame of the Phone Application.</returns>
 | 
			
		||||
    public static PhoneApplicationFrame RootFrame { get; private set; }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    /// Constructor for the Application object.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public App()
 | 
			
		||||
    {
 | 
			
		||||
      // Global handler for uncaught exceptions.
 | 
			
		||||
      UnhandledException += Application_UnhandledException;
 | 
			
		||||
 | 
			
		||||
      // Standard XAML initialization
 | 
			
		||||
      InitializeComponent();
 | 
			
		||||
 | 
			
		||||
      // Phone-specific initialization
 | 
			
		||||
      InitializePhoneApplication();
 | 
			
		||||
 | 
			
		||||
      // Language display initialization
 | 
			
		||||
      InitializeLanguage();
 | 
			
		||||
 | 
			
		||||
      // Show graphics profiling information while debugging.
 | 
			
		||||
      if (Debugger.IsAttached)
 | 
			
		||||
      {
 | 
			
		||||
        // Display the current frame rate counters.
 | 
			
		||||
        Application.Current.Host.Settings.EnableFrameRateCounter = true;
 | 
			
		||||
 | 
			
		||||
        // Show the areas of the app that are being redrawn in each frame.
 | 
			
		||||
        //Application.Current.Host.Settings.EnableRedrawRegions = true;
 | 
			
		||||
 | 
			
		||||
        // Enable non-production analysis visualization mode,
 | 
			
		||||
        // which shows areas of a page that are handed off to GPU with a colored overlay.
 | 
			
		||||
        //Application.Current.Host.Settings.EnableCacheVisualization = true;
 | 
			
		||||
 | 
			
		||||
        // Prevent the screen from turning off while under the debugger by disabling
 | 
			
		||||
        // the application's idle detection.
 | 
			
		||||
        // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run
 | 
			
		||||
        // and consume battery power when the user is not using the phone.
 | 
			
		||||
        PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Code to execute when the application is launching (eg, from Start)
 | 
			
		||||
    // This code will not execute when the application is reactivated
 | 
			
		||||
    private void Application_Launching(object sender, LaunchingEventArgs e)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Code to execute when the application is activated (brought to foreground)
 | 
			
		||||
    // This code will not execute when the application is first launched
 | 
			
		||||
    private void Application_Activated(object sender, ActivatedEventArgs e)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Code to execute when the application is deactivated (sent to background)
 | 
			
		||||
    // This code will not execute when the application is closing
 | 
			
		||||
    private void Application_Deactivated(object sender, DeactivatedEventArgs e)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Code to execute when the application is closing (eg, user hit Back)
 | 
			
		||||
    // This code will not execute when the application is deactivated
 | 
			
		||||
    private void Application_Closing(object sender, ClosingEventArgs e)
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Code to execute if a navigation fails
 | 
			
		||||
    private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e)
 | 
			
		||||
    {
 | 
			
		||||
      if (Debugger.IsAttached)
 | 
			
		||||
      {
 | 
			
		||||
        // A navigation has failed; break into the debugger
 | 
			
		||||
        Debugger.Break();
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Code to execute on Unhandled Exceptions
 | 
			
		||||
    private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e)
 | 
			
		||||
    {
 | 
			
		||||
      if (Debugger.IsAttached)
 | 
			
		||||
      {
 | 
			
		||||
        // An unhandled exception has occurred; break into the debugger
 | 
			
		||||
        Debugger.Break();
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #region Phone application initialization
 | 
			
		||||
 | 
			
		||||
    // Avoid double-initialization
 | 
			
		||||
    private bool phoneApplicationInitialized = false;
 | 
			
		||||
 | 
			
		||||
    // Do not add any additional code to this method
 | 
			
		||||
    private void InitializePhoneApplication()
 | 
			
		||||
    {
 | 
			
		||||
      if (phoneApplicationInitialized)
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
      // Create the frame but don't set it as RootVisual yet; this allows the splash
 | 
			
		||||
      // screen to remain active until the application is ready to render.
 | 
			
		||||
      RootFrame = new PhoneApplicationFrame();
 | 
			
		||||
      RootFrame.Navigated += CompleteInitializePhoneApplication;
 | 
			
		||||
 | 
			
		||||
      // Handle navigation failures
 | 
			
		||||
      RootFrame.NavigationFailed += RootFrame_NavigationFailed;
 | 
			
		||||
 | 
			
		||||
      // Handle reset requests for clearing the backstack
 | 
			
		||||
      RootFrame.Navigated += CheckForResetNavigation;
 | 
			
		||||
 | 
			
		||||
      // Ensure we don't initialize again
 | 
			
		||||
      phoneApplicationInitialized = true;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Do not add any additional code to this method
 | 
			
		||||
    private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e)
 | 
			
		||||
    {
 | 
			
		||||
      // Set the root visual to allow the application to render
 | 
			
		||||
      if (RootVisual != RootFrame)
 | 
			
		||||
        RootVisual = RootFrame;
 | 
			
		||||
 | 
			
		||||
      // Remove this handler since it is no longer needed
 | 
			
		||||
      RootFrame.Navigated -= CompleteInitializePhoneApplication;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void CheckForResetNavigation(object sender, NavigationEventArgs e)
 | 
			
		||||
    {
 | 
			
		||||
      // If the app has received a 'reset' navigation, then we need to check
 | 
			
		||||
      // on the next navigation to see if the page stack should be reset
 | 
			
		||||
      if (e.NavigationMode == NavigationMode.Reset)
 | 
			
		||||
        RootFrame.Navigated += ClearBackStackAfterReset;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    private void ClearBackStackAfterReset(object sender, NavigationEventArgs e)
 | 
			
		||||
    {
 | 
			
		||||
      // Unregister the event so it doesn't get called again
 | 
			
		||||
      RootFrame.Navigated -= ClearBackStackAfterReset;
 | 
			
		||||
 | 
			
		||||
      // Only clear the stack for 'new' (forward) and 'refresh' navigations
 | 
			
		||||
      if (e.NavigationMode != NavigationMode.New && e.NavigationMode != NavigationMode.Refresh)
 | 
			
		||||
        return;
 | 
			
		||||
 | 
			
		||||
      // For UI consistency, clear the entire page stack
 | 
			
		||||
      while (RootFrame.RemoveBackEntry() != null)
 | 
			
		||||
      {
 | 
			
		||||
        ; // do nothing
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    #endregion
 | 
			
		||||
 | 
			
		||||
    // Initialize the app's font and flow direction as defined in its localized resource strings.
 | 
			
		||||
    //
 | 
			
		||||
    // To ensure that the font of your application is aligned with its supported languages and that the
 | 
			
		||||
    // FlowDirection for each of those languages follows its traditional direction, ResourceLanguage
 | 
			
		||||
    // and ResourceFlowDirection should be initialized in each resx file to match these values with that
 | 
			
		||||
    // file's culture. For example:
 | 
			
		||||
    //
 | 
			
		||||
    // AppResources.es-ES.resx
 | 
			
		||||
    //    ResourceLanguage's value should be "es-ES"
 | 
			
		||||
    //    ResourceFlowDirection's value should be "LeftToRight"
 | 
			
		||||
    //
 | 
			
		||||
    // AppResources.ar-SA.resx
 | 
			
		||||
    //     ResourceLanguage's value should be "ar-SA"
 | 
			
		||||
    //     ResourceFlowDirection's value should be "RightToLeft"
 | 
			
		||||
    //
 | 
			
		||||
    // For more info on localizing Windows Phone apps see http://go.microsoft.com/fwlink/?LinkId=262072.
 | 
			
		||||
    //
 | 
			
		||||
    private void InitializeLanguage()
 | 
			
		||||
    {
 | 
			
		||||
      try
 | 
			
		||||
      {
 | 
			
		||||
        // Set the font to match the display language defined by the
 | 
			
		||||
        // ResourceLanguage resource string for each supported language.
 | 
			
		||||
        //
 | 
			
		||||
        // Fall back to the font of the neutral language if the Display
 | 
			
		||||
        // language of the phone is not supported.
 | 
			
		||||
        //
 | 
			
		||||
        // If a compiler error is hit then ResourceLanguage is missing from
 | 
			
		||||
        // the resource file.
 | 
			
		||||
        RootFrame.Language = XmlLanguage.GetLanguage(AppResources.ResourceLanguage);
 | 
			
		||||
 | 
			
		||||
        // Set the FlowDirection of all elements under the root frame based
 | 
			
		||||
        // on the ResourceFlowDirection resource string for each
 | 
			
		||||
        // supported language.
 | 
			
		||||
        //
 | 
			
		||||
        // If a compiler error is hit then ResourceFlowDirection is missing from
 | 
			
		||||
        // the resource file.
 | 
			
		||||
        FlowDirection flow = (FlowDirection)Enum.Parse(typeof(FlowDirection), AppResources.ResourceFlowDirection);
 | 
			
		||||
        RootFrame.FlowDirection = flow;
 | 
			
		||||
      }
 | 
			
		||||
      catch
 | 
			
		||||
      {
 | 
			
		||||
        // If an exception is caught here it is most likely due to either
 | 
			
		||||
        // ResourceLangauge not being correctly set to a supported language
 | 
			
		||||
        // code or ResourceFlowDirection is set to a value other than LeftToRight
 | 
			
		||||
        // or RightToLeft.
 | 
			
		||||
 | 
			
		||||
        if (Debugger.IsAttached)
 | 
			
		||||
        {
 | 
			
		||||
          Debugger.Break();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        throw;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
| 
		 After Width: | Height: | Size: 8.8 KiB  | 
| 
		 After Width: | Height: | Size: 1.8 KiB  | 
| 
		 After Width: | Height: | Size: 9.2 KiB  | 
| 
		 After Width: | Height: | Size: 7.8 KiB  | 
| 
		 After Width: | Height: | Size: 3.8 KiB  | 
| 
		 After Width: | Height: | Size: 2.4 KiB  | 
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
@ -0,0 +1,208 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <PropertyGroup>
 | 
			
		||||
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
 | 
			
		||||
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
 | 
			
		||||
    <ProductVersion>10.0.20506</ProductVersion>
 | 
			
		||||
    <SchemaVersion>2.0</SchemaVersion>
 | 
			
		||||
    <ProjectGuid>{82A2958E-AB5B-40B8-A556-DA41952F870F}</ProjectGuid>
 | 
			
		||||
    <ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
 | 
			
		||||
    <OutputType>Library</OutputType>
 | 
			
		||||
    <AppDesignerFolder>Properties</AppDesignerFolder>
 | 
			
		||||
    <RootNamespace>GeolocatorSample.WinPhone</RootNamespace>
 | 
			
		||||
    <AssemblyName>GeolocatorSample.WinPhone</AssemblyName>
 | 
			
		||||
    <TargetFrameworkIdentifier>WindowsPhone</TargetFrameworkIdentifier>
 | 
			
		||||
    <TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
 | 
			
		||||
    <SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
 | 
			
		||||
    <SilverlightApplication>true</SilverlightApplication>
 | 
			
		||||
    <SupportedCultures></SupportedCultures>
 | 
			
		||||
    <XapOutputs>true</XapOutputs>
 | 
			
		||||
    <GenerateSilverlightManifest>true</GenerateSilverlightManifest>
 | 
			
		||||
    <XapFilename>PhoneApp1_$(Configuration)_$(Platform).xap</XapFilename>
 | 
			
		||||
    <SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
 | 
			
		||||
    <SilverlightAppEntry>GeolocatorSample.WinPhone.App</SilverlightAppEntry>
 | 
			
		||||
    <ValidateXaml>true</ValidateXaml>
 | 
			
		||||
    <MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
 | 
			
		||||
    <ThrowErrorsInValidation>true</ThrowErrorsInValidation>
 | 
			
		||||
    <NuGetPackageImportStamp>dd928278</NuGetPackageImportStamp>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <Optimize>false</Optimize>
 | 
			
		||||
    <OutputPath>Bin\Debug</OutputPath>
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
 | 
			
		||||
    <NoStdLib>true</NoStdLib>
 | 
			
		||||
    <NoConfig>true</NoConfig>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
 | 
			
		||||
    <DebugType>pdbonly</DebugType>
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <OutputPath>Bin\Release</OutputPath>
 | 
			
		||||
    <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
 | 
			
		||||
    <NoStdLib>true</NoStdLib>
 | 
			
		||||
    <NoConfig>true</NoConfig>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <Optimize>false</Optimize>
 | 
			
		||||
    <OutputPath>Bin\x86\Debug</OutputPath>
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
 | 
			
		||||
    <NoStdLib>true</NoStdLib>
 | 
			
		||||
    <NoConfig>true</NoConfig>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
 | 
			
		||||
    <DebugType>pdbonly</DebugType>
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <OutputPath>Bin\x86\Release</OutputPath>
 | 
			
		||||
    <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
 | 
			
		||||
    <NoStdLib>true</NoStdLib>
 | 
			
		||||
    <NoConfig>true</NoConfig>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|ARM' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <Optimize>false</Optimize>
 | 
			
		||||
    <OutputPath>Bin\ARM\Debug</OutputPath>
 | 
			
		||||
    <DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
 | 
			
		||||
    <NoStdLib>true</NoStdLib>
 | 
			
		||||
    <NoConfig>true</NoConfig>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|ARM' ">
 | 
			
		||||
    <DebugType>pdbonly</DebugType>
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <OutputPath>Bin\ARM\Release</OutputPath>
 | 
			
		||||
    <DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
 | 
			
		||||
    <NoStdLib>true</NoStdLib>
 | 
			
		||||
    <NoConfig>true</NoConfig>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Compile Include="App.xaml.cs">
 | 
			
		||||
      <DependentUpon>App.xaml</DependentUpon>
 | 
			
		||||
    </Compile>
 | 
			
		||||
    <Compile Include="LocalizedStrings.cs" />
 | 
			
		||||
    <Compile Include="MainPage.xaml.cs">
 | 
			
		||||
      <DependentUpon>MainPage.xaml</DependentUpon>
 | 
			
		||||
    </Compile>
 | 
			
		||||
    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
			
		||||
    <Compile Include="Resources\AppResources.Designer.cs">
 | 
			
		||||
      <AutoGen>True</AutoGen>
 | 
			
		||||
      <DesignTime>True</DesignTime>
 | 
			
		||||
      <DependentUpon>AppResources.resx</DependentUpon>
 | 
			
		||||
    </Compile>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ApplicationDefinition Include="App.xaml">
 | 
			
		||||
      <SubType>Designer</SubType>
 | 
			
		||||
      <Generator>MSBuild:Compile</Generator>
 | 
			
		||||
    </ApplicationDefinition>
 | 
			
		||||
    <Page Include="MainPage.xaml">
 | 
			
		||||
      <SubType>Designer</SubType>
 | 
			
		||||
      <Generator>MSBuild:Compile</Generator>
 | 
			
		||||
    </Page>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <None Include="packages.config" />
 | 
			
		||||
    <None Include="Properties\AppManifest.xml" />
 | 
			
		||||
    <None Include="Properties\WMAppManifest.xml">
 | 
			
		||||
      <SubType>Designer</SubType>
 | 
			
		||||
    </None>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Content Include="PluginsHelp\GeolocatorReadme.txt" />
 | 
			
		||||
    <Content Include="README_FIRST.txt" />
 | 
			
		||||
    <Content Include="SplashScreenImage.jpg">
 | 
			
		||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
			
		||||
    </Content>
 | 
			
		||||
    <Content Include="Assets\AlignmentGrid.png" />
 | 
			
		||||
    <Content Include="Assets\ApplicationIcon.png">
 | 
			
		||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
			
		||||
    </Content>
 | 
			
		||||
    <Content Include="Assets\Tiles\FlipCycleTileLarge.png">
 | 
			
		||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
			
		||||
    </Content>
 | 
			
		||||
    <Content Include="Assets\Tiles\FlipCycleTileMedium.png">
 | 
			
		||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
			
		||||
    </Content>
 | 
			
		||||
    <Content Include="Assets\Tiles\FlipCycleTileSmall.png">
 | 
			
		||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
			
		||||
    </Content>
 | 
			
		||||
    <Content Include="Assets\Tiles\IconicTileMediumLarge.png">
 | 
			
		||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
			
		||||
    </Content>
 | 
			
		||||
    <Content Include="Assets\Tiles\IconicTileSmall.png">
 | 
			
		||||
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
 | 
			
		||||
    </Content>
 | 
			
		||||
    <Content Include="Toolkit.Content\ApplicationBar.Add.png" />
 | 
			
		||||
    <Content Include="Toolkit.Content\ApplicationBar.Cancel.png" />
 | 
			
		||||
    <Content Include="Toolkit.Content\ApplicationBar.Check.png" />
 | 
			
		||||
    <Content Include="Toolkit.Content\ApplicationBar.Delete.png" />
 | 
			
		||||
    <Content Include="Toolkit.Content\ApplicationBar.Select.png" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <EmbeddedResource Include="Resources\AppResources.resx">
 | 
			
		||||
      <Generator>PublicResXFileCodeGenerator</Generator>
 | 
			
		||||
      <LastGenOutput>AppResources.Designer.cs</LastGenOutput>
 | 
			
		||||
    </EmbeddedResource>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ProjectReference Include="..\GeolocatorSample\GeolocatorSample.csproj">
 | 
			
		||||
      <Name>GeolocatorSample</Name>
 | 
			
		||||
    </ProjectReference>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Reference Include="Geolocator.Plugin, Version=1.0.3.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\..\packages\Xam.Plugin.Geolocator.1.0.3\lib\wp8\Geolocator.Plugin.dll</HintPath>
 | 
			
		||||
      <Private>True</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Geolocator.Plugin.Abstractions, Version=1.0.3.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\..\packages\Xam.Plugin.Geolocator.1.0.3\lib\wp8\Geolocator.Plugin.Abstractions.dll</HintPath>
 | 
			
		||||
      <Private>True</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Microsoft.Phone.Controls.Toolkit">
 | 
			
		||||
      <HintPath>..\..\packages\WPtoolkit.4.2013.08.16\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Xamarin.Forms.Core, Version=1.3.4.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <SpecificVersion>False</SpecificVersion>
 | 
			
		||||
      <HintPath>..\..\packages\Xamarin.Forms.1.3.4.6332\lib\WP80\Xamarin.Forms.Core.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Xamarin.Forms.Platform.WP8, Version=1.3.4.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <SpecificVersion>False</SpecificVersion>
 | 
			
		||||
      <HintPath>..\..\packages\Xamarin.Forms.1.3.4.6332\lib\WP80\Xamarin.Forms.Platform.WP8.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Xamarin.Forms.Xaml, Version=1.3.4.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <SpecificVersion>False</SpecificVersion>
 | 
			
		||||
      <HintPath>..\..\packages\Xamarin.Forms.1.3.4.6332\lib\WP80\Xamarin.Forms.Xaml.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).$(TargetFrameworkVersion).Overrides.targets" />
 | 
			
		||||
  <Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" />
 | 
			
		||||
  <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
 | 
			
		||||
       Other similar extension points exist, see Microsoft.Common.targets.
 | 
			
		||||
  <Target Name="BeforeBuild">
 | 
			
		||||
  </Target>
 | 
			
		||||
  <Target Name="AfterBuild">
 | 
			
		||||
  </Target>
 | 
			
		||||
  -->
 | 
			
		||||
  <ProjectExtensions />
 | 
			
		||||
  <Import Project="..\..\packages\Xamarin.Forms.1.3.4.6332\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.1.3.4.6332\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
 | 
			
		||||
  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
 | 
			
		||||
    <PropertyGroup>
 | 
			
		||||
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
 | 
			
		||||
    </PropertyGroup>
 | 
			
		||||
    <Error Condition="!Exists('..\..\packages\Xamarin.Forms.1.3.4.6332\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.1.3.4.6332\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" />
 | 
			
		||||
  </Target>
 | 
			
		||||
</Project>
 | 
			
		||||
@ -0,0 +1,14 @@
 | 
			
		||||
using GeolocatorSample.WinPhone.Resources;
 | 
			
		||||
 | 
			
		||||
namespace GeolocatorSample.WinPhone
 | 
			
		||||
{
 | 
			
		||||
  /// <summary>
 | 
			
		||||
  /// Provides access to string resources.
 | 
			
		||||
  /// </summary>
 | 
			
		||||
  public class LocalizedStrings
 | 
			
		||||
  {
 | 
			
		||||
    private static AppResources _localizedResources = new AppResources();
 | 
			
		||||
 | 
			
		||||
    public AppResources LocalizedResources { get { return _localizedResources; } }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,16 @@
 | 
			
		||||
<winPhone:FormsApplicationPage
 | 
			
		||||
    x:Class="GeolocatorSample.WinPhone.MainPage"
 | 
			
		||||
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 | 
			
		||||
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 | 
			
		||||
    xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
 | 
			
		||||
    xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
 | 
			
		||||
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
 | 
			
		||||
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
 | 
			
		||||
    xmlns:winPhone="clr-namespace:Xamarin.Forms.Platform.WinPhone;assembly=Xamarin.Forms.Platform.WP8"
 | 
			
		||||
    mc:Ignorable="d"
 | 
			
		||||
    FontFamily="{StaticResource PhoneFontFamilyNormal}"
 | 
			
		||||
    FontSize="{StaticResource PhoneFontSizeNormal}"
 | 
			
		||||
    Foreground="{StaticResource PhoneForegroundBrush}"
 | 
			
		||||
    SupportedOrientations="Portrait" Orientation="Portrait"
 | 
			
		||||
    shell:SystemTray.IsVisible="True">
 | 
			
		||||
</winPhone:FormsApplicationPage>
 | 
			
		||||
@ -0,0 +1,24 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Net;
 | 
			
		||||
using System.Windows;
 | 
			
		||||
using System.Windows.Controls;
 | 
			
		||||
using System.Windows.Navigation;
 | 
			
		||||
using Microsoft.Phone.Controls;
 | 
			
		||||
using Microsoft.Phone.Shell;
 | 
			
		||||
 | 
			
		||||
namespace GeolocatorSample.WinPhone
 | 
			
		||||
{
 | 
			
		||||
  public partial class MainPage : global::Xamarin.Forms.Platform.WinPhone.FormsApplicationPage
 | 
			
		||||
  {
 | 
			
		||||
    public MainPage()
 | 
			
		||||
    {
 | 
			
		||||
      InitializeComponent();
 | 
			
		||||
      SupportedOrientations = SupportedPageOrientation.PortraitOrLandscape;
 | 
			
		||||
 | 
			
		||||
      global::Xamarin.Forms.Forms.Init();
 | 
			
		||||
      LoadApplication(new GeolocatorSample.App());
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,24 @@
 | 
			
		||||
Connectivity Readme
 | 
			
		||||
Find the most up to date information at: https://github.com/jamesmontemagno/Xamarin.Plugins
 | 
			
		||||
 | 
			
		||||
**IMPORTANT**
 | 
			
		||||
Android:
 | 
			
		||||
You must request ACCESS_COARSE_LOCATION & ACCESS_FINE_LOCATION permission
 | 
			
		||||
 | 
			
		||||
iOS:
 | 
			
		||||
In iOS 8 you now have to call either RequestWhenInUseAuthorization or RequestAlwaysAuthorization on the location manager. Additionally you need to add either the concisely named NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription to your Info.plist. 
 | 
			
		||||
See:  http://motzcod.es/post/97662738237/scanning-for-ibeacons-in-ios-8
 | 
			
		||||
 | 
			
		||||
Windows Phone:
 | 
			
		||||
You must set the ID_CAP_LOCATION permission.
 | 
			
		||||
 | 
			
		||||
Getting Started:
 | 
			
		||||
 | 
			
		||||
var locator = CrossGeolocator.Current;
 | 
			
		||||
locator.DesiredAccuracy = 50;
 | 
			
		||||
 | 
			
		||||
var position = await locator.GetPositionAsync (timeoutMilliseconds: 10000);
 | 
			
		||||
 | 
			
		||||
Console.WriteLine ("Position Status: {0}", position.Timestamp);
 | 
			
		||||
Console.WriteLine ("Position Latitude: {0}", position.Latitude);
 | 
			
		||||
Console.WriteLine ("Position Longitude: {0}", position.Longitude);
 | 
			
		||||
@ -0,0 +1,6 @@
 | 
			
		||||
<Deployment xmlns="http://schemas.microsoft.com/client/2007/deployment"
 | 
			
		||||
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 | 
			
		||||
>
 | 
			
		||||
    <Deployment.Parts>
 | 
			
		||||
    </Deployment.Parts>
 | 
			
		||||
</Deployment>
 | 
			
		||||
@ -0,0 +1,37 @@
 | 
			
		||||
using System.Reflection;
 | 
			
		||||
using System.Runtime.CompilerServices;
 | 
			
		||||
using System.Runtime.InteropServices;
 | 
			
		||||
using System.Resources;
 | 
			
		||||
 | 
			
		||||
// General Information about an assembly is controlled through the following 
 | 
			
		||||
// set of attributes. Change these attribute values to modify the information
 | 
			
		||||
// associated with an assembly.
 | 
			
		||||
[assembly: AssemblyTitle("GeolocatorSample.WinPhone")]
 | 
			
		||||
[assembly: AssemblyDescription("")]
 | 
			
		||||
[assembly: AssemblyConfiguration("")]
 | 
			
		||||
[assembly: AssemblyCompany("")]
 | 
			
		||||
[assembly: AssemblyProduct("GeolocatorSample.WinPhone")]
 | 
			
		||||
[assembly: AssemblyCopyright("Copyright ©  2014")]
 | 
			
		||||
[assembly: AssemblyTrademark("")]
 | 
			
		||||
[assembly: AssemblyCulture("")]
 | 
			
		||||
 | 
			
		||||
// Setting ComVisible to false makes the types in this assembly not visible 
 | 
			
		||||
// to COM components.  If you need to access a type in this assembly from 
 | 
			
		||||
// COM, set the ComVisible attribute to true on that type.
 | 
			
		||||
[assembly: ComVisible(false)]
 | 
			
		||||
 | 
			
		||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
 | 
			
		||||
[assembly: Guid("65077432-0c92-466b-b68d-911a8ec84f1d")]
 | 
			
		||||
 | 
			
		||||
// Version information for an assembly consists of the following four values:
 | 
			
		||||
//
 | 
			
		||||
//      Major Version
 | 
			
		||||
//      Minor Version 
 | 
			
		||||
//      Build Number
 | 
			
		||||
//      Revision
 | 
			
		||||
//
 | 
			
		||||
// You can specify all the values or you can default the Revision and Build Numbers 
 | 
			
		||||
// by using the '*' as shown below:
 | 
			
		||||
[assembly: AssemblyVersion("1.0.0.0")]
 | 
			
		||||
[assembly: AssemblyFileVersion("1.0.0.0")]
 | 
			
		||||
[assembly: NeutralResourcesLanguageAttribute("en-US")]
 | 
			
		||||
@ -0,0 +1,43 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Deployment xmlns="http://schemas.microsoft.com/windowsphone/2012/deployment" AppPlatformVersion="8.0">
 | 
			
		||||
  <DefaultLanguage xmlns="" code="en-US" />
 | 
			
		||||
  <App xmlns="" ProductID="{dbad66ea-bbc9-4596-8182-b108714bbdcd}" Title="GeolocatorSample.WinPhone" RuntimeType="Silverlight" Version="1.0.0.0" Genre="apps.normal" Author="GeolocatorSample.WinPhone author" Description="Sample description" Publisher="GeolocatorSample.WinPhone" PublisherID="{72b9a149-de03-4a1c-80a4-d4bf56dee761}">
 | 
			
		||||
    <IconPath IsRelative="true" IsResource="false">Assets\ApplicationIcon.png</IconPath>
 | 
			
		||||
    <Capabilities>
 | 
			
		||||
      <Capability Name="ID_CAP_NETWORKING" />
 | 
			
		||||
      <Capability Name="ID_CAP_MEDIALIB_AUDIO" />
 | 
			
		||||
      <Capability Name="ID_CAP_MEDIALIB_PLAYBACK" />
 | 
			
		||||
      <Capability Name="ID_CAP_SENSORS" />
 | 
			
		||||
      <Capability Name="ID_CAP_WEBBROWSERCOMPONENT" />
 | 
			
		||||
      <Capability Name="ID_CAP_LOCATION" />
 | 
			
		||||
    </Capabilities>
 | 
			
		||||
    <Tasks>
 | 
			
		||||
      <DefaultTask Name="_default" NavigationPage="MainPage.xaml" />
 | 
			
		||||
    </Tasks>
 | 
			
		||||
    <Tokens>
 | 
			
		||||
      <PrimaryToken TokenID="PhoneApp1Token" TaskName="_default">
 | 
			
		||||
        <TemplateFlip>
 | 
			
		||||
          <SmallImageURI IsRelative="true" IsResource="false">Assets\Tiles\FlipCycleTileSmall.png</SmallImageURI>
 | 
			
		||||
          <Count>0</Count>
 | 
			
		||||
          <BackgroundImageURI IsRelative="true" IsResource="false">Assets\Tiles\FlipCycleTileMedium.png</BackgroundImageURI>
 | 
			
		||||
          <Title>GeolocatorSample.WinPhone</Title>
 | 
			
		||||
          <BackContent>
 | 
			
		||||
          </BackContent>
 | 
			
		||||
          <BackBackgroundImageURI>
 | 
			
		||||
          </BackBackgroundImageURI>
 | 
			
		||||
          <BackTitle>
 | 
			
		||||
          </BackTitle>
 | 
			
		||||
          <DeviceLockImageURI>
 | 
			
		||||
          </DeviceLockImageURI>
 | 
			
		||||
          <HasLarge>
 | 
			
		||||
          </HasLarge>
 | 
			
		||||
        </TemplateFlip>
 | 
			
		||||
      </PrimaryToken>
 | 
			
		||||
    </Tokens>
 | 
			
		||||
    <ScreenResolutions>
 | 
			
		||||
      <ScreenResolution Name="ID_RESOLUTION_WVGA" />
 | 
			
		||||
      <ScreenResolution Name="ID_RESOLUTION_WXGA" />
 | 
			
		||||
      <ScreenResolution Name="ID_RESOLUTION_HD720P" />
 | 
			
		||||
    </ScreenResolutions>
 | 
			
		||||
  </App>
 | 
			
		||||
</Deployment>
 | 
			
		||||
@ -0,0 +1,3 @@
 | 
			
		||||
For the Windows Phone toolkit make sure that you have
 | 
			
		||||
marked the icons in the "Toolkit.Content" folder as content.  That way they 
 | 
			
		||||
can be used as the icons for the ApplicationBar control.
 | 
			
		||||
@ -0,0 +1,127 @@
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
// <auto-generated>
 | 
			
		||||
//     This code was generated by a tool.
 | 
			
		||||
//     Runtime Version:4.0.30319.17626
 | 
			
		||||
//
 | 
			
		||||
//     Changes to this file may cause incorrect behavior and will be lost if
 | 
			
		||||
//     the code is regenerated.
 | 
			
		||||
// </auto-generated>
 | 
			
		||||
//------------------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
namespace GeolocatorSample.WinPhone.Resources
 | 
			
		||||
{
 | 
			
		||||
  using System;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  /// <summary>
 | 
			
		||||
  ///   A strongly-typed resource class, for looking up localized strings, etc.
 | 
			
		||||
  /// </summary>
 | 
			
		||||
  // This class was auto-generated by the StronglyTypedResourceBuilder
 | 
			
		||||
  // class via a tool like ResGen or Visual Studio.
 | 
			
		||||
  // To add or remove a member, edit your .ResX file then rerun ResGen
 | 
			
		||||
  // with the /str option, or rebuild your VS project.
 | 
			
		||||
  [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
 | 
			
		||||
  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
 | 
			
		||||
  [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
 | 
			
		||||
  public class AppResources
 | 
			
		||||
  {
 | 
			
		||||
 | 
			
		||||
    private static global::System.Resources.ResourceManager resourceMan;
 | 
			
		||||
 | 
			
		||||
    private static global::System.Globalization.CultureInfo resourceCulture;
 | 
			
		||||
 | 
			
		||||
    [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
 | 
			
		||||
    internal AppResources()
 | 
			
		||||
    {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    ///   Returns the cached ResourceManager instance used by this class.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
 | 
			
		||||
    public static global::System.Resources.ResourceManager ResourceManager
 | 
			
		||||
    {
 | 
			
		||||
      get
 | 
			
		||||
      {
 | 
			
		||||
        if (object.ReferenceEquals(resourceMan, null))
 | 
			
		||||
        {
 | 
			
		||||
          global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("GeolocatorSample.WinPhone.Resources.AppResources", typeof(AppResources).Assembly);
 | 
			
		||||
          resourceMan = temp;
 | 
			
		||||
        }
 | 
			
		||||
        return resourceMan;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    ///   Overrides the current thread's CurrentUICulture property for all
 | 
			
		||||
    ///   resource lookups using this strongly typed resource class.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
 | 
			
		||||
    public static global::System.Globalization.CultureInfo Culture
 | 
			
		||||
    {
 | 
			
		||||
      get
 | 
			
		||||
      {
 | 
			
		||||
        return resourceCulture;
 | 
			
		||||
      }
 | 
			
		||||
      set
 | 
			
		||||
      {
 | 
			
		||||
        resourceCulture = value;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    ///   Looks up a localized string similar to LeftToRight.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public static string ResourceFlowDirection
 | 
			
		||||
    {
 | 
			
		||||
      get
 | 
			
		||||
      {
 | 
			
		||||
        return ResourceManager.GetString("ResourceFlowDirection", resourceCulture);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    ///   Looks up a localized string similar to us-EN.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public static string ResourceLanguage
 | 
			
		||||
    {
 | 
			
		||||
      get
 | 
			
		||||
      {
 | 
			
		||||
        return ResourceManager.GetString("ResourceLanguage", resourceCulture);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    ///   Looks up a localized string similar to MY APPLICATION.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public static string ApplicationTitle
 | 
			
		||||
    {
 | 
			
		||||
      get
 | 
			
		||||
      {
 | 
			
		||||
        return ResourceManager.GetString("ApplicationTitle", resourceCulture);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    ///   Looks up a localized string similar to button.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public static string AppBarButtonText
 | 
			
		||||
    {
 | 
			
		||||
      get
 | 
			
		||||
      {
 | 
			
		||||
        return ResourceManager.GetString("AppBarButtonText", resourceCulture);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// <summary>
 | 
			
		||||
    ///   Looks up a localized string similar to menu item.
 | 
			
		||||
    /// </summary>
 | 
			
		||||
    public static string AppBarMenuItemText
 | 
			
		||||
    {
 | 
			
		||||
      get
 | 
			
		||||
      {
 | 
			
		||||
        return ResourceManager.GetString("AppBarMenuItemText", resourceCulture);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,137 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<root>
 | 
			
		||||
  <!--
 | 
			
		||||
    Microsoft ResX Schema
 | 
			
		||||
 | 
			
		||||
    Version 2.0
 | 
			
		||||
 | 
			
		||||
    The primary goals of this format is to allow a simple XML format
 | 
			
		||||
    that is mostly human readable. The generation and parsing of the
 | 
			
		||||
    various data types are done through the TypeConverter classes
 | 
			
		||||
    associated with the data types.
 | 
			
		||||
 | 
			
		||||
    Example:
 | 
			
		||||
 | 
			
		||||
    ... ado.net/XML headers & schema ...
 | 
			
		||||
    <resheader name="resmimetype">text/microsoft-resx</resheader>
 | 
			
		||||
    <resheader name="version">2.0</resheader>
 | 
			
		||||
    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
 | 
			
		||||
    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
 | 
			
		||||
    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
 | 
			
		||||
    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
 | 
			
		||||
    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
 | 
			
		||||
        <value>[base64 mime encoded serialized .NET Framework object]</value>
 | 
			
		||||
    </data>
 | 
			
		||||
    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
 | 
			
		||||
        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
 | 
			
		||||
        <comment>This is a comment</comment>
 | 
			
		||||
    </data>
 | 
			
		||||
 | 
			
		||||
    There are any number of "resheader" rows that contain simple
 | 
			
		||||
    name/value pairs.
 | 
			
		||||
 | 
			
		||||
    Each data row contains a name, and value. The row also contains a
 | 
			
		||||
    type or mimetype. Type corresponds to a .NET class that support
 | 
			
		||||
    text/value conversion through the TypeConverter architecture.
 | 
			
		||||
    Classes that don't support this are serialized and stored with the
 | 
			
		||||
    mimetype set.
 | 
			
		||||
 | 
			
		||||
    The mimetype is used for serialized objects, and tells the
 | 
			
		||||
    ResXResourceReader how to depersist the object. This is currently not
 | 
			
		||||
    extensible. For a given mimetype the value must be set accordingly:
 | 
			
		||||
 | 
			
		||||
    Note - application/x-microsoft.net.object.binary.base64 is the format
 | 
			
		||||
    that the ResXResourceWriter will generate, however the reader can
 | 
			
		||||
    read any of the formats listed below.
 | 
			
		||||
 | 
			
		||||
    mimetype: application/x-microsoft.net.object.binary.base64
 | 
			
		||||
    value   : The object must be serialized with
 | 
			
		||||
            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
 | 
			
		||||
            : and then encoded with base64 encoding.
 | 
			
		||||
 | 
			
		||||
    mimetype: application/x-microsoft.net.object.soap.base64
 | 
			
		||||
    value   : The object must be serialized with
 | 
			
		||||
            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
 | 
			
		||||
            : and then encoded with base64 encoding.
 | 
			
		||||
 | 
			
		||||
    mimetype: application/x-microsoft.net.object.bytearray.base64
 | 
			
		||||
    value   : The object must be serialized into a byte array
 | 
			
		||||
            : using a System.ComponentModel.TypeConverter
 | 
			
		||||
            : and then encoded with base64 encoding.
 | 
			
		||||
    -->
 | 
			
		||||
  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
 | 
			
		||||
    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
 | 
			
		||||
    <xsd:element name="root" msdata:IsDataSet="true">
 | 
			
		||||
      <xsd:complexType>
 | 
			
		||||
        <xsd:choice maxOccurs="unbounded">
 | 
			
		||||
          <xsd:element name="metadata">
 | 
			
		||||
            <xsd:complexType>
 | 
			
		||||
              <xsd:sequence>
 | 
			
		||||
                <xsd:element name="value" type="xsd:string" minOccurs="0" />
 | 
			
		||||
              </xsd:sequence>
 | 
			
		||||
              <xsd:attribute name="name" use="required" type="xsd:string" />
 | 
			
		||||
              <xsd:attribute name="type" type="xsd:string" />
 | 
			
		||||
              <xsd:attribute name="mimetype" type="xsd:string" />
 | 
			
		||||
              <xsd:attribute ref="xml:space" />
 | 
			
		||||
            </xsd:complexType>
 | 
			
		||||
          </xsd:element>
 | 
			
		||||
          <xsd:element name="assembly">
 | 
			
		||||
            <xsd:complexType>
 | 
			
		||||
              <xsd:attribute name="alias" type="xsd:string" />
 | 
			
		||||
              <xsd:attribute name="name" type="xsd:string" />
 | 
			
		||||
            </xsd:complexType>
 | 
			
		||||
          </xsd:element>
 | 
			
		||||
          <xsd:element name="data">
 | 
			
		||||
            <xsd:complexType>
 | 
			
		||||
              <xsd:sequence>
 | 
			
		||||
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
 | 
			
		||||
                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
 | 
			
		||||
              </xsd:sequence>
 | 
			
		||||
              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
 | 
			
		||||
              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
 | 
			
		||||
              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
 | 
			
		||||
              <xsd:attribute ref="xml:space" />
 | 
			
		||||
            </xsd:complexType>
 | 
			
		||||
          </xsd:element>
 | 
			
		||||
          <xsd:element name="resheader">
 | 
			
		||||
            <xsd:complexType>
 | 
			
		||||
              <xsd:sequence>
 | 
			
		||||
                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
 | 
			
		||||
              </xsd:sequence>
 | 
			
		||||
              <xsd:attribute name="name" type="xsd:string" use="required" />
 | 
			
		||||
            </xsd:complexType>
 | 
			
		||||
          </xsd:element>
 | 
			
		||||
        </xsd:choice>
 | 
			
		||||
      </xsd:complexType>
 | 
			
		||||
    </xsd:element>
 | 
			
		||||
  </xsd:schema>
 | 
			
		||||
  <resheader name="resmimetype">
 | 
			
		||||
    <value>text/microsoft-resx</value>
 | 
			
		||||
  </resheader>
 | 
			
		||||
  <resheader name="version">
 | 
			
		||||
    <value>2.0</value>
 | 
			
		||||
  </resheader>
 | 
			
		||||
  <resheader name="reader">
 | 
			
		||||
    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
  </resheader>
 | 
			
		||||
  <resheader name="writer">
 | 
			
		||||
    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
 | 
			
		||||
  </resheader>
 | 
			
		||||
  <data name="ResourceFlowDirection" xml:space="preserve">
 | 
			
		||||
    <value>LeftToRight</value>
 | 
			
		||||
    <comment>Controls the FlowDirection for all elements in the RootFrame. Set to the traditional direction of this resource file's language</comment>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="ResourceLanguage" xml:space="preserve">
 | 
			
		||||
    <value>en-US</value>
 | 
			
		||||
    <comment>Controls the Language and ensures that the font for all elements in the RootFrame aligns with the app's language. Set to the language code of this resource file's language.</comment>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="ApplicationTitle" xml:space="preserve">
 | 
			
		||||
    <value>MY APPLICATION</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="AppBarButtonText" xml:space="preserve">
 | 
			
		||||
    <value>add</value>
 | 
			
		||||
  </data>
 | 
			
		||||
  <data name="AppBarMenuItemText" xml:space="preserve">
 | 
			
		||||
    <value>Menu Item</value>
 | 
			
		||||
  </data>
 | 
			
		||||
</root>
 | 
			
		||||
| 
		 After Width: | Height: | Size: 64 KiB  | 
| 
		 After Width: | Height: | Size: 339 B  | 
| 
		 After Width: | Height: | Size: 350 B  | 
| 
		 After Width: | Height: | Size: 414 B  | 
| 
		 After Width: | Height: | Size: 445 B  | 
| 
		 After Width: | Height: | Size: 863 B  | 
@ -0,0 +1,6 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<packages>
 | 
			
		||||
  <package id="WPtoolkit" version="4.2013.08.16" targetFramework="wp80" />
 | 
			
		||||
  <package id="Xam.Plugin.Geolocator" version="1.0.3" targetFramework="wp80" />
 | 
			
		||||
  <package id="Xamarin.Forms" version="1.3.4.6332" targetFramework="wp80" />
 | 
			
		||||
</packages>
 | 
			
		||||
@ -0,0 +1,31 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
 | 
			
		||||
using Foundation;
 | 
			
		||||
using UIKit;
 | 
			
		||||
 | 
			
		||||
namespace GeolocatorSample.iOS
 | 
			
		||||
{
 | 
			
		||||
  // The UIApplicationDelegate for the application. This class is responsible for launching the 
 | 
			
		||||
  // User Interface of the application, as well as listening (and optionally responding) to 
 | 
			
		||||
  // application events from iOS.
 | 
			
		||||
  [Register("AppDelegate")]
 | 
			
		||||
  public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
 | 
			
		||||
  {
 | 
			
		||||
    //
 | 
			
		||||
    // This method is invoked when the application has loaded and is ready to run. In this 
 | 
			
		||||
    // method you should instantiate the window, load the UI into it and then make the window
 | 
			
		||||
    // visible.
 | 
			
		||||
    //
 | 
			
		||||
    // You have 17 seconds to return from this method, or iOS will terminate your application.
 | 
			
		||||
    //
 | 
			
		||||
    public override bool FinishedLaunching(UIApplication app, NSDictionary options)
 | 
			
		||||
    {
 | 
			
		||||
      global::Xamarin.Forms.Forms.Init();
 | 
			
		||||
      LoadApplication(new App());
 | 
			
		||||
 | 
			
		||||
      return base.FinishedLaunching(app, options);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,7 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" ?>
 | 
			
		||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 | 
			
		||||
<plist version="1.0">
 | 
			
		||||
<dict>
 | 
			
		||||
</dict>
 | 
			
		||||
</plist>
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,160 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8"?>
 | 
			
		||||
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
 | 
			
		||||
  <PropertyGroup>
 | 
			
		||||
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
 | 
			
		||||
    <Platform Condition=" '$(Platform)' == '' ">iPhoneSimulator</Platform>
 | 
			
		||||
    <ProductVersion>8.0.30703</ProductVersion>
 | 
			
		||||
    <SchemaVersion>2.0</SchemaVersion>
 | 
			
		||||
    <ProjectGuid>{CF64F284-8850-4DC0-ADD4-E066A0744AF3}</ProjectGuid>
 | 
			
		||||
    <ProjectTypeGuids>{FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
 | 
			
		||||
    <OutputType>Exe</OutputType>
 | 
			
		||||
    <RootNamespace>GeolocatorSample.iOS</RootNamespace>
 | 
			
		||||
    <IPhoneResourcePrefix>Resources</IPhoneResourcePrefix>
 | 
			
		||||
    <AssemblyName>GeolocatorSampleiOS</AssemblyName>
 | 
			
		||||
    <NuGetPackageImportStamp>edc5ef5c</NuGetPackageImportStamp>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhoneSimulator' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <Optimize>false</Optimize>
 | 
			
		||||
    <OutputPath>bin\iPhoneSimulator\Debug</OutputPath>
 | 
			
		||||
    <DefineConstants>DEBUG</DefineConstants>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
    <ConsolePause>false</ConsolePause>
 | 
			
		||||
    <MtouchArch>i386, x86_64</MtouchArch>
 | 
			
		||||
    <MtouchLink>None</MtouchLink>
 | 
			
		||||
    <MtouchDebug>true</MtouchDebug>
 | 
			
		||||
    <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhoneSimulator' ">
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <OutputPath>bin\iPhoneSimulator\Release</OutputPath>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
    <MtouchLink>None</MtouchLink>
 | 
			
		||||
    <MtouchArch>i386, x86_64</MtouchArch>
 | 
			
		||||
    <ConsolePause>false</ConsolePause>
 | 
			
		||||
    <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|iPhone' ">
 | 
			
		||||
    <DebugSymbols>true</DebugSymbols>
 | 
			
		||||
    <DebugType>full</DebugType>
 | 
			
		||||
    <Optimize>false</Optimize>
 | 
			
		||||
    <OutputPath>bin\iPhone\Debug</OutputPath>
 | 
			
		||||
    <DefineConstants>DEBUG</DefineConstants>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
    <ConsolePause>false</ConsolePause>
 | 
			
		||||
    <MtouchArch>ARMv7, ARM64</MtouchArch>
 | 
			
		||||
    <CodesignKey>iPhone Developer</CodesignKey>
 | 
			
		||||
    <MtouchDebug>true</MtouchDebug>
 | 
			
		||||
    <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|iPhone' ">
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <Optimize>true</Optimize>
 | 
			
		||||
    <OutputPath>bin\iPhone\Release</OutputPath>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
    <MtouchArch>ARMv7, ARM64</MtouchArch>
 | 
			
		||||
    <ConsolePause>false</ConsolePause>
 | 
			
		||||
    <CodesignKey>iPhone Developer</CodesignKey>
 | 
			
		||||
    <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <Optimize>True</Optimize>
 | 
			
		||||
    <OutputPath>bin\iPhone\Ad-Hoc</OutputPath>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
    <ConsolePause>False</ConsolePause>
 | 
			
		||||
    <MtouchArch>ARMv7, ARM64</MtouchArch>
 | 
			
		||||
    <BuildIpa>True</BuildIpa>
 | 
			
		||||
    <CodesignProvision>Automatic:AdHoc</CodesignProvision>
 | 
			
		||||
    <CodesignKey>iPhone Distribution</CodesignKey>
 | 
			
		||||
    <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'AppStore|iPhone' ">
 | 
			
		||||
    <DebugType>none</DebugType>
 | 
			
		||||
    <Optimize>True</Optimize>
 | 
			
		||||
    <OutputPath>bin\iPhone\AppStore</OutputPath>
 | 
			
		||||
    <ErrorReport>prompt</ErrorReport>
 | 
			
		||||
    <WarningLevel>4</WarningLevel>
 | 
			
		||||
    <ConsolePause>False</ConsolePause>
 | 
			
		||||
    <MtouchArch>ARMv7, ARM64</MtouchArch>
 | 
			
		||||
    <CodesignProvision>Automatic:AppStore</CodesignProvision>
 | 
			
		||||
    <CodesignKey>iPhone Distribution</CodesignKey>
 | 
			
		||||
    <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Compile Include="Main.cs" />
 | 
			
		||||
    <Compile Include="AppDelegate.cs" />
 | 
			
		||||
    <None Include="Entitlements.plist" />
 | 
			
		||||
    <None Include="Info.plist">
 | 
			
		||||
      <SubType>Designer</SubType>
 | 
			
		||||
    </None>
 | 
			
		||||
    <Compile Include="Properties\AssemblyInfo.cs" />
 | 
			
		||||
    <ITunesArtwork Include="iTunesArtwork" />
 | 
			
		||||
    <ITunesArtwork Include="iTunesArtwork@2x" />
 | 
			
		||||
    <None Include="packages.config" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <ProjectReference Include="..\GeolocatorSample\GeolocatorSample.csproj">
 | 
			
		||||
      <Name>GeolocatorSample</Name>
 | 
			
		||||
    </ProjectReference>
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <BundleResource Include="Resources\Default-568h%402x.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Default-Portrait.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Default-Portrait%402x.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Default.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Default%402x.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Icon-60%402x.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Icon-60%403x.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Icon-76.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Icon-76%402x.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Icon-Small-40.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Icon-Small-40%402x.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Icon-Small-40%403x.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Icon-Small.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Icon-Small%402x.png" />
 | 
			
		||||
    <BundleResource Include="Resources\Icon-Small%403x.png" />
 | 
			
		||||
    <InterfaceDefinition Include="Resources\LaunchScreen.storyboard" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Reference Include="Geolocator.Plugin, Version=1.0.3.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\..\packages\Xam.Plugin.Geolocator.1.0.3\lib\Xamarin.iOS10\Geolocator.Plugin.dll</HintPath>
 | 
			
		||||
      <Private>True</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Geolocator.Plugin.Abstractions, Version=1.0.3.0, Culture=neutral, processorArchitecture=MSIL">
 | 
			
		||||
      <HintPath>..\..\packages\Xam.Plugin.Geolocator.1.0.3\lib\Xamarin.iOS10\Geolocator.Plugin.Abstractions.dll</HintPath>
 | 
			
		||||
      <Private>True</Private>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="System" />
 | 
			
		||||
    <Reference Include="System.Xml" />
 | 
			
		||||
    <Reference Include="System.Core" />
 | 
			
		||||
    <Reference Include="Xamarin.Forms.Core">
 | 
			
		||||
      <HintPath>..\..\packages\Xamarin.Forms.1.3.4.6332\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Xamarin.Forms.Platform.iOS">
 | 
			
		||||
      <HintPath>..\..\packages\Xamarin.Forms.1.3.4.6332\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Xamarin.Forms.Xaml">
 | 
			
		||||
      <HintPath>..\..\packages\Xamarin.Forms.1.3.4.6332\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll</HintPath>
 | 
			
		||||
    </Reference>
 | 
			
		||||
    <Reference Include="Xamarin.iOS" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <Content Include="PluginsHelp\GeolocatorReadme.txt" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
  <Import Project="$(MSBuildExtensionsPath)\Xamarin\iOS\Xamarin.iOS.CSharp.targets" />
 | 
			
		||||
  <Import Project="..\..\packages\Xamarin.Forms.1.3.4.6332\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets" Condition="Exists('..\..\packages\Xamarin.Forms.1.3.4.6332\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" />
 | 
			
		||||
  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
 | 
			
		||||
    <PropertyGroup>
 | 
			
		||||
      <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
 | 
			
		||||
    </PropertyGroup>
 | 
			
		||||
    <Error Condition="!Exists('..\..\packages\Xamarin.Forms.1.3.4.6332\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\..\packages\Xamarin.Forms.1.3.4.6332\build\portable-win+net45+wp80+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Xamarin.Forms.targets'))" />
 | 
			
		||||
  </Target>
 | 
			
		||||
</Project>
 | 
			
		||||
@ -0,0 +1,54 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
			
		||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
 | 
			
		||||
<plist version="1.0">
 | 
			
		||||
  <dict>
 | 
			
		||||
    <key>UIDeviceFamily</key>
 | 
			
		||||
    <array>
 | 
			
		||||
      <integer>1</integer>
 | 
			
		||||
      <integer>2</integer>
 | 
			
		||||
    </array>
 | 
			
		||||
    <key>UISupportedInterfaceOrientations</key>
 | 
			
		||||
    <array>
 | 
			
		||||
      <string>UIInterfaceOrientationPortrait</string>
 | 
			
		||||
      <string>UIInterfaceOrientationLandscapeLeft</string>
 | 
			
		||||
      <string>UIInterfaceOrientationLandscapeRight</string>
 | 
			
		||||
    </array>
 | 
			
		||||
    <key>UISupportedInterfaceOrientations~ipad</key>
 | 
			
		||||
    <array>
 | 
			
		||||
      <string>UIInterfaceOrientationPortrait</string>
 | 
			
		||||
      <string>UIInterfaceOrientationPortraitUpsideDown</string>
 | 
			
		||||
      <string>UIInterfaceOrientationLandscapeLeft</string>
 | 
			
		||||
      <string>UIInterfaceOrientationLandscapeRight</string>
 | 
			
		||||
    </array>
 | 
			
		||||
    <key>MinimumOSVersion</key>
 | 
			
		||||
    <string>6.0</string>
 | 
			
		||||
    <key>CFBundleDisplayName</key>
 | 
			
		||||
    <string>GeolocatorSample</string>
 | 
			
		||||
    <key>CFBundleIdentifier</key>
 | 
			
		||||
    <string>com.yourcompany.GeolocatorSample</string>
 | 
			
		||||
    <key>CFBundleVersion</key>
 | 
			
		||||
    <string>1.0</string>
 | 
			
		||||
    <key>CFBundleIconFiles</key>
 | 
			
		||||
    <array>
 | 
			
		||||
      <string>Icon-60@2x</string>
 | 
			
		||||
      <string>Icon-60@3x</string>
 | 
			
		||||
      <string>Icon-76</string>
 | 
			
		||||
      <string>Icon-76@2x</string>
 | 
			
		||||
      <string>Default</string>
 | 
			
		||||
      <string>Default@2x</string>
 | 
			
		||||
      <string>Default-568h@2x</string>
 | 
			
		||||
      <string>Default-Portrait</string>
 | 
			
		||||
      <string>Default-Portrait@2x</string>
 | 
			
		||||
      <string>Icon-Small-40</string>
 | 
			
		||||
      <string>Icon-Small-40@2x</string>
 | 
			
		||||
      <string>Icon-Small-40@3x</string>
 | 
			
		||||
      <string>Icon-Small</string>
 | 
			
		||||
      <string>Icon-Small@2x</string>
 | 
			
		||||
      <string>Icon-Small@3x</string>
 | 
			
		||||
    </array>
 | 
			
		||||
    <key>UILaunchStoryboardName</key>
 | 
			
		||||
    <string>LaunchScreen</string>
 | 
			
		||||
    <key>RequestWhenInUseAuthorization</key>
 | 
			
		||||
    <string>Need location for geolocator plugin.</string>
 | 
			
		||||
  </dict>
 | 
			
		||||
</plist>
 | 
			
		||||
@ -0,0 +1,20 @@
 | 
			
		||||
using System;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
 | 
			
		||||
using Foundation;
 | 
			
		||||
using UIKit;
 | 
			
		||||
 | 
			
		||||
namespace GeolocatorSample.iOS
 | 
			
		||||
{
 | 
			
		||||
  public class Application
 | 
			
		||||
  {
 | 
			
		||||
    // This is the main entry point of the application.
 | 
			
		||||
    static void Main(string[] args)
 | 
			
		||||
    {
 | 
			
		||||
      // if you want to use a different Application Delegate class from "AppDelegate"
 | 
			
		||||
      // you can specify it here.
 | 
			
		||||
      UIApplication.Main(args, null, "AppDelegate");
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,24 @@
 | 
			
		||||
Connectivity Readme
 | 
			
		||||
Find the most up to date information at: https://github.com/jamesmontemagno/Xamarin.Plugins
 | 
			
		||||
 | 
			
		||||
**IMPORTANT**
 | 
			
		||||
Android:
 | 
			
		||||
You must request ACCESS_COARSE_LOCATION & ACCESS_FINE_LOCATION permission
 | 
			
		||||
 | 
			
		||||
iOS:
 | 
			
		||||
In iOS 8 you now have to call either RequestWhenInUseAuthorization or RequestAlwaysAuthorization on the location manager. Additionally you need to add either the concisely named NSLocationWhenInUseUsageDescription or NSLocationAlwaysUsageDescription to your Info.plist. 
 | 
			
		||||
See:  http://motzcod.es/post/97662738237/scanning-for-ibeacons-in-ios-8
 | 
			
		||||
 | 
			
		||||
Windows Phone:
 | 
			
		||||
You must set the ID_CAP_LOCATION permission.
 | 
			
		||||
 | 
			
		||||
Getting Started:
 | 
			
		||||
 | 
			
		||||
var locator = CrossGeolocator.Current;
 | 
			
		||||
locator.DesiredAccuracy = 50;
 | 
			
		||||
 | 
			
		||||
var position = await locator.GetPositionAsync (timeoutMilliseconds: 10000);
 | 
			
		||||
 | 
			
		||||
Console.WriteLine ("Position Status: {0}", position.Timestamp);
 | 
			
		||||
Console.WriteLine ("Position Latitude: {0}", position.Latitude);
 | 
			
		||||
Console.WriteLine ("Position Longitude: {0}", position.Longitude);
 | 
			
		||||
@ -0,0 +1,36 @@
 | 
			
		||||
using System.Reflection;
 | 
			
		||||
using System.Runtime.CompilerServices;
 | 
			
		||||
using System.Runtime.InteropServices;
 | 
			
		||||
 | 
			
		||||
// General Information about an assembly is controlled through the following 
 | 
			
		||||
// set of attributes. Change these attribute values to modify the information
 | 
			
		||||
// associated with an assembly.
 | 
			
		||||
[assembly: AssemblyTitle("GeolocatorSample.iOS")]
 | 
			
		||||
[assembly: AssemblyDescription("")]
 | 
			
		||||
[assembly: AssemblyConfiguration("")]
 | 
			
		||||
[assembly: AssemblyCompany("")]
 | 
			
		||||
[assembly: AssemblyProduct("GeolocatorSample.iOS")]
 | 
			
		||||
[assembly: AssemblyCopyright("Copyright ©  2014")]
 | 
			
		||||
[assembly: AssemblyTrademark("")]
 | 
			
		||||
[assembly: AssemblyCulture("")]
 | 
			
		||||
 | 
			
		||||
// Setting ComVisible to false makes the types in this assembly not visible 
 | 
			
		||||
// to COM components.  If you need to access a type in this assembly from 
 | 
			
		||||
// COM, set the ComVisible attribute to true on that type.
 | 
			
		||||
[assembly: ComVisible(false)]
 | 
			
		||||
 | 
			
		||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
 | 
			
		||||
[assembly: Guid("72bdc44f-c588-44f3-b6df-9aace7daafdd")]
 | 
			
		||||
 | 
			
		||||
// Version information for an assembly consists of the following four values:
 | 
			
		||||
//
 | 
			
		||||
//      Major Version
 | 
			
		||||
//      Minor Version 
 | 
			
		||||
//      Build Number
 | 
			
		||||
//      Revision
 | 
			
		||||
//
 | 
			
		||||
// You can specify all the values or you can default the Build and Revision Numbers 
 | 
			
		||||
// by using the '*' as shown below:
 | 
			
		||||
// [assembly: AssemblyVersion("1.0.*")]
 | 
			
		||||
[assembly: AssemblyVersion("1.0.0.0")]
 | 
			
		||||
[assembly: AssemblyFileVersion("1.0.0.0")]
 | 
			
		||||
| 
		 After Width: | Height: | Size: 8.7 KiB  | 
| 
		 After Width: | Height: | Size: 10 KiB  | 
| 
		 After Width: | Height: | Size: 34 KiB  | 
| 
		 After Width: | Height: | Size: 7.1 KiB  | 
| 
		 After Width: | Height: | Size: 8.2 KiB  | 
| 
		 After Width: | Height: | Size: 1.7 KiB  | 
| 
		 After Width: | Height: | Size: 21 KiB  | 
| 
		 After Width: | Height: | Size: 1.2 KiB  | 
| 
		 After Width: | Height: | Size: 2.2 KiB  | 
| 
		 After Width: | Height: | Size: 729 B  |